{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h1>Example: Latch Problem</h1>\n",
    "\n",
    "We study an easy example of learning long-term dependencies by using a simple <i>latch task</i> (see [Hochreiter and Mozer](https://link.springer.com/chapter/10.1007/3-540-44668-0_92)). The essence of this task is that a sequence of inputs is presented, beginning with one of two symbols, <b>A</b> or <b>B</b>, and after a variable number of time steps, the model has to output a corresponding symbol. Thus, the task requires memorizing the original input over time. It has to be noted, that both class-defining symbols must only appear at the first position of a sequence. This task was specifically designed to demonstrate the capability of recurrent neural networks to capture long term dependencies. This demonstration shows, that <code>Hopfield</code>, <code>HopfieldPooling</code> and <code>HopfieldLayer</code> adapt extremely fast to this specific task, concentrating only on the first entry of the sequence.\n",
    "\n",
    "This demonstration instructs how to apply <code>Hopfield</code>, <code>HopfieldPooling</code> and <code>HopfieldLayer</code> for an exemplary sequential task, potentially substituting LSTM and GRU layers.\n",
    "\n",
    "NOTA BENE: No tweeking of the exemplary LSTM network is done. The focus is put on the technical details. Feel free to tune yourself and see what works better :)\n",
    "\n",
    "<h3 style=\"color:rgb(208,90,80)\">In the chapters <a href=\"#Adapt-Hopfield-based-Network\">Adapt Hopfield-based Network</a>, <a href=\"#Adapt-Hopfield-based-Pooling\">Adapt Hopfield-based Pooling</a> and <a href=\"#Adapt-Hopfield-based-Lookup\">Adapt Hopfield-based Lookup</a> you can explore and try the new functionalities of our new Hopfield layer.</h3>\n",
    "\n",
    "In order to run this notebook, a few modules need to be imported. The installation of third-party modules is <i>not</i> covered here."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Import general modules used e.g. for plotting.\n",
    "import matplotlib.pyplot as plt\n",
    "import os\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import sys\n",
    "import torch\n",
    "\n",
    "# Importing Hopfield-specific modules.\n",
    "from auxiliary.data import LatchSequenceSet\n",
    "from modules import Hopfield, HopfieldPooling, HopfieldLayer\n",
    "\n",
    "# Import auxiliary modules.\n",
    "from distutils.version import LooseVersion\n",
    "from typing import List, Tuple\n",
    "\n",
    "# Importing PyTorch specific modules.\n",
    "from torch import Tensor\n",
    "from torch.nn import Flatten, Linear, LSTM, Module, Sequential\n",
    "from torch.nn.functional import binary_cross_entropy_with_logits\n",
    "from torch.nn.utils import clip_grad_norm_\n",
    "from torch.optim import AdamW\n",
    "from torch.utils.data import DataLoader\n",
    "from torch.utils.data.sampler import SubsetRandomSampler\n",
    "\n",
    "# Set plotting style.\n",
    "sns.set()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Specific minimum versions of Python itself as well as of some used modules is required."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Installed Python version:  3.8.8 (✓)\n",
      "Installed PyTorch version: 1.7.0 (✓)\n"
     ]
    }
   ],
   "source": [
    "python_check = '(\\u2713)' if sys.version_info >= (3, 8) else '(\\u2717)'\n",
    "pytorch_check = '(\\u2713)' if torch.__version__ >= LooseVersion(r'1.5') else '(\\u2717)'\n",
    "\n",
    "print(f'Installed Python version:  {sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro} {python_check}')\n",
    "print(f'Installed PyTorch version: {torch.__version__} {pytorch_check}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3 style=\"color:rgb(0,120,170)\">Create Dataset</h3>\n",
    "\n",
    "We study an easy example of learning long-term dependencies by using a simple <i>latch task</i>. \n",
    "The latch task was introcuded by Hochreiter and Mozer:<br>\n",
    "<cite>Sepp Hochreiter, Michael Mozer, 2001. A discrete probabilistic memory model for discovering dependencies in time. Artificial Neural Networks -- ICANN 2001, 13, pp.661-668.</cite><br><br>\n",
    "The essence of this task is that a sequence of inputs is presented, beginning with one of two symbols, <b>A</b> or <b>B</b>, and after a variable number of time steps, the model has to output a corresponding symbol. Thus, the task requires memorizing the original input over time. It has to be noted, that both class-defining symbols must only appear at the first position of an instance. Defining arguments are:\n",
    "<br><br>\n",
    "<table>\n",
    "    <tr>\n",
    "        <th>Argument</th>\n",
    "        <th>Value (used in this demo)</th>\n",
    "        <th>Description</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>num_samples</code></th>\n",
    "        <th>4096</th>\n",
    "        <th>Amount of samples of the full dataset.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>num_instances</code></th>\n",
    "        <th>32</th>\n",
    "        <th>Amount of instances per sample (sample length).</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>num_characters</code></th>\n",
    "        <th>20</th>\n",
    "        <th>Amount of different characters (size of the one-hot encoded vector).</th>\n",
    "    </tr>\n",
    "</table>\n",
    "\n",
    "Let's define the dataset using previously mentioned properties as well as a logging directory for storing all auxiliary outputs like performance plots."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "latch_sequence_set = LatchSequenceSet(\n",
    "    num_samples=4096,\n",
    "    num_instances=32,\n",
    "    num_characters=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "log_dir = f'resources/'\n",
    "os.makedirs(log_dir, exist_ok=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3 style=\"color:rgb(0,120,170)\">Create Auxiliaries</h3>\n",
    "\n",
    "Before digging into Hopfield-based networks, a few auxiliary variables and functions need to be defined. This is nothing special with respect to Hopfield-based networks, but rather common preparation work of (almost) every machine learning setting (e.g. definition of a <i>data loader</i> as well as a <i>training loop</i>). We will see, that this comprises the most work of this whole demo."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "device = torch.device(r'cuda:0' if torch.cuda.is_available() else r'cpu')\n",
    "\n",
    "# Create data loader of training set.\n",
    "sampler_train = SubsetRandomSampler(list(range(512, 4096 - 512)))\n",
    "data_loader_train = DataLoader(dataset=latch_sequence_set, batch_size=32, sampler=sampler_train)\n",
    "\n",
    "# Create data loader of validation set.\n",
    "sampler_eval = SubsetRandomSampler(list(range(512)) + list(range(4096 - 512, 4096)))\n",
    "data_loader_eval = DataLoader(dataset=latch_sequence_set, batch_size=32, sampler=sampler_eval)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def train_epoch(network: Module,\n",
    "                optimiser: AdamW,\n",
    "                data_loader: DataLoader\n",
    "               ) -> Tuple[float, float]:\n",
    "    \"\"\"\n",
    "    Execute one training epoch.\n",
    "    \n",
    "    :param network: network instance to train\n",
    "    :param optimiser: optimiser instance responsible for updating network parameters\n",
    "    :param data_loader: data loader instance providing training data\n",
    "    :return: tuple comprising training loss as well as accuracy\n",
    "    \"\"\"\n",
    "    network.train()\n",
    "    losses, accuracies = [], []\n",
    "    for sample_data in data_loader:\n",
    "        data, target = sample_data[r'data'], sample_data[r'target']\n",
    "        data, target = data.to(device=device), target.to(device=device)\n",
    "\n",
    "        # Process data by Hopfield-based network.\n",
    "        model_output = network.forward(input=data)\n",
    "\n",
    "        # Update network parameters.\n",
    "        optimiser.zero_grad()\n",
    "        loss = binary_cross_entropy_with_logits(input=model_output, target=target, reduction=r'mean')\n",
    "        loss.backward()\n",
    "        clip_grad_norm_(parameters=network.parameters(), max_norm=1.0, norm_type=2)\n",
    "        optimiser.step()\n",
    "\n",
    "        # Compute performance measures of current model.\n",
    "        accuracy = (model_output.sigmoid().round() == target).to(dtype=torch.float32).mean()\n",
    "        accuracies.append(accuracy.detach().item())\n",
    "        losses.append(loss.detach().item())\n",
    "    \n",
    "    # Report progress of training procedure.\n",
    "    return (sum(losses) / len(losses), sum(accuracies) / len(accuracies))\n",
    "\n",
    "\n",
    "def eval_iter(network: Module,\n",
    "              data_loader: DataLoader\n",
    "             ) -> Tuple[float, float]:\n",
    "    \"\"\"\n",
    "    Evaluate the current model.\n",
    "    \n",
    "    :param network: network instance to evaluate\n",
    "    :param data_loader: data loader instance providing validation data\n",
    "    :return: tuple comprising validation loss as well as accuracy\n",
    "    \"\"\"\n",
    "    network.eval()\n",
    "    with torch.no_grad():\n",
    "        losses, accuracies = [], []\n",
    "        for sample_data in data_loader:\n",
    "            data, target = sample_data[r'data'], sample_data[r'target']\n",
    "            data, target = data.to(device=device), target.to(device=device)\n",
    "\n",
    "            # Process data by Hopfield-based network.\n",
    "            model_output = network.forward(input=data)\n",
    "            loss = binary_cross_entropy_with_logits(input=model_output, target=target, reduction=r'mean')\n",
    "\n",
    "            # Compute performance measures of current model.\n",
    "            accuracy = (model_output.sigmoid().round() == target).to(dtype=torch.float32).mean()\n",
    "            accuracies.append(accuracy.detach().item())\n",
    "            losses.append(loss.detach().item())\n",
    "\n",
    "        # Report progress of validation procedure.\n",
    "        return (sum(losses) / len(losses), sum(accuracies) / len(accuracies))\n",
    "\n",
    "\n",
    "def operate(network: Module,\n",
    "            optimiser: AdamW,\n",
    "            data_loader_train: DataLoader,\n",
    "            data_loader_eval: DataLoader,\n",
    "            num_epochs: int = 1\n",
    "           ) -> Tuple[pd.DataFrame, pd.DataFrame]:\n",
    "    \"\"\"\n",
    "    Train the specified network by gradient descent using backpropagation.\n",
    "    \n",
    "    :param network: network instance to train\n",
    "    :param optimiser: optimiser instance responsible for updating network parameters\n",
    "    :param data_loader_train: data loader instance providing training data\n",
    "    :param data_loader_eval: data loader instance providing validation data\n",
    "    :param num_epochs: amount of epochs to train\n",
    "    :return: data frame comprising training as well as evaluation performance\n",
    "    \"\"\"\n",
    "    losses, accuracies = {r'train': [], r'eval': []}, {r'train': [], r'eval': []}\n",
    "    for epoch in range(num_epochs):\n",
    "        \n",
    "        # Train network.\n",
    "        performance = train_epoch(network, optimiser, data_loader_train)\n",
    "        losses[r'train'].append(performance[0])\n",
    "        accuracies[r'train'].append(performance[1])\n",
    "        \n",
    "        # Evaluate current model.\n",
    "        performance = eval_iter(network, data_loader_eval)\n",
    "        losses[r'eval'].append(performance[0])\n",
    "        accuracies[r'eval'].append(performance[1])\n",
    "    \n",
    "    # Report progress of training and validation procedures.\n",
    "    return pd.DataFrame(losses), pd.DataFrame(accuracies)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def set_seed(seed: int = 42) -> None:\n",
    "    \"\"\"\n",
    "    Set seed for all underlying (pseudo) random number sources.\n",
    "    \n",
    "    :param seed: seed to be used\n",
    "    :return: None\n",
    "    \"\"\"\n",
    "    torch.manual_seed(42)\n",
    "    torch.backends.cudnn.deterministic = True\n",
    "    torch.backends.cudnn.benchmark = False\n",
    "\n",
    "\n",
    "def plot_performance(loss: pd.DataFrame,\n",
    "                     accuracy: pd.DataFrame,\n",
    "                     log_file: str\n",
    "                    ) -> None:\n",
    "    \"\"\"\n",
    "    Plot and save loss and accuracy.\n",
    "    \n",
    "    :param loss: loss to be plotted\n",
    "    :param accuracy: accuracy to be plotted\n",
    "    :param log_file: target file for storing the resulting plot\n",
    "    :return: None\n",
    "    \"\"\"\n",
    "    fig, ax = plt.subplots(1, 2, figsize=(20, 7))\n",
    "    \n",
    "    loss_plot = sns.lineplot(data=loss, ax=ax[0])\n",
    "    loss_plot.set(xlabel=r'Epoch', ylabel=r'Cross-entropy Loss')\n",
    "    \n",
    "    accuracy_plot = sns.lineplot(data=accuracy, ax=ax[1])\n",
    "    accuracy_plot.set(xlabel=r'Epoch', ylabel=r'Accuracy')\n",
    "    \n",
    "    ax[1].yaxis.set_label_position(r'right')\n",
    "    fig.tight_layout()\n",
    "    fig.savefig(log_file)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h2>LSTM-based Network</h2>\n",
    "\n",
    "The instantiation of the heart of an LSTM-based network, the module <code>LSTM</code>, is rather straightforward. Only <i>two</i> arguments, the size of the input as well as the site of the hidden state, need to be set.\n",
    "<br><br>\n",
    "<table>\n",
    "    <tr>\n",
    "        <th>Argument</th>\n",
    "        <th>Value (used in this demo)</th>\n",
    "        <th>Description</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>input_size</code></th>\n",
    "        <th>num_characters (20)</th>\n",
    "        <th>Size (depth) of the input.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>hidden_size</code></th>\n",
    "        <th>4</th>\n",
    "        <th>Size (depth) of the hidden state.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>...</code></th>\n",
    "        <th>default</th>\n",
    "        <th>The remaining arguments are not explicitly used in this example.</th>\n",
    "    </tr>\n",
    "</table>\n",
    "\n",
    "An additional output projection is defined, to downproject the hidden state of the last time step of the <code>LSTM</code> to the correct output size. Afterwards, everything is wrapped into a container of type <code>torch.nn.Sequential</code> and a corresponding optimiser is defined."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "class LSTMNetwork(Module):\n",
    "    def __init__(self, input_size: int, hidden_size: int):\n",
    "        \"\"\"\n",
    "        Initialize a new instance of an LSTM-based network.\n",
    "        \n",
    "        :param input size: size (depth) of the input\n",
    "        :param hidden_size: size (depth) of the hidden state\n",
    "        \"\"\"\n",
    "        super(LSTMNetwork, self).__init__()\n",
    "        self.lstm = LSTM(input_size, hidden_size, batch_first=True)\n",
    "        self.projection = Linear(hidden_size, 1)\n",
    "    \n",
    "    def forward(self, input: Tensor) -> Tensor:\n",
    "        \"\"\"\n",
    "        Compute result of LSTM-based network on specified data.\n",
    "        \n",
    "        :param input: data to be processed by the LSTM-based network\n",
    "        :return: result as computed by the LSTM-based network\n",
    "        \"\"\"\n",
    "        out, _ = self.lstm.forward(input=input)     \n",
    "        return self.projection.forward(input=out[:, -1, :]).flatten()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "set_seed()\n",
    "network = LSTMNetwork(\n",
    "    input_size=latch_sequence_set.num_characters,\n",
    "    hidden_size=4).to(device=device)\n",
    "optimiser = AdamW(params=network.parameters(), lr=1e-3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3 style=\"color:rgb(0,120,170)\">Operate LSTM-based Network</h3>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "losses, accuracies = operate(\n",
    "    network=network,\n",
    "    optimiser=optimiser,\n",
    "    data_loader_train=data_loader_train,\n",
    "    data_loader_eval=data_loader_eval,\n",
    "    num_epochs=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABZQAAAHsCAYAAABFbSiOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAADcgklEQVR4nOzdd3yV9fn/8dd9RvZOTjYEMggrCQGEsMUFKogCDsTZalv9Wlp+rVZR665gqbbWUautraNuVBAHKsoQENl7b0J2IGSfcf/+iI1SR8KB5GS8n48HDzjnPp/7vu6LKJ9znc+5PoZpmiYiIiIiIiIiIiIiIk2w+DoAEREREREREREREWkfVFAWERERERERERERkWZRQVlEREREREREREREmkUFZRERERERERERERFpFhWURURERERERERERKRZVFAWERERERERERERkWZRQVlEREREREREREREmsXm6wBaU3l5FR6P2arXjI4OobS0slWv2REob95R3ryjvHlHefOO8uYd5c07ytvJsVgMIiODfR3GSWvtOa5+rryn3HlHefOO8uYd5c07ypt3lDfvKG/N11Lz205VUPZ4zFYvKP/3unLylDfvKG/eUd68o7x5R3nzjvLmHeWt4/PFHFc/V95T7ryjvHlHefOO8uYd5c07ypt3lDffUssLEREREREREREREWkWFZRFREREREREREREpFk6VcuL7+N2uygvL8blqm+R8xcVWfB4PC1ybm/YbH5ERjqwWjv9X72IiIhIh2SaJpWVx6ipqcTjcZ/287e1+a3FYiUwMISQkHAMw/B1OCIiIiIdXqevKpaXFxMQEERwcHyLTEBtNgsuV9uYcJumSVVVBeXlxcTEJPg6HBERERFpAeXlxRiGQVRUHFar7bTPcdva/NbtdnH8+FHKy4uJior1dUgiIiIiHV6nb3nhctUTHBzWKVYzGIZBcHBYi63GFhERERHfq6+vJSIiGpvN3uHnuIZhYLPZiYiIpr6+1tfhiIiIiHQKnb6gDHT4ifa3daZ7FREREemcTAyjc03zG+5Xu72LiIiItIbONdMUEREREREREREREa+poNyGVFZWcscdv23267dt28LMmQ+0YEQiIiIiIqdGc1wRERGRjqXTb8rXlhw/XsHOndub/fqePXtz++29WzAiEREREZFTozmuiIiISMeignIb8uc//5GS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xqf57UVEREREpPSsgqMQKsKsnXz6jUVEgNO+7WnixIkcPXqUK664gssuu4zc3FzuvffeisgmIiI/IeD38MuL2nPZwHRWbj7ApFeXsivnuNOxRERERESkCsn/+M/kvTMBOxx0OoqIVBGnHcr24osv8sgjj1REFhEROUOGYTC0V2Oa1avF//t4PQ++voxrhrTmnPZpTkcTEREREZFKzso/jH00G7wBp6OISBVy2hHKc+bMqYAYIiJyNlo1rst91/WgaVptXp6+gTc+30QobDkdS0REREREKrHw1iUABMbcg+H2OpxGRKqK045QbtiwIddffz1du3YlNja25PPrrruuXIOJiMiZqRPnY8KVnfnwm218tngH2/cd5ZYL25NUJ8bpaCIi1d60adP429/+Rjgc5pprrmHcuHEnrH/uuef44IMPqF27NgCXXXbZCds8/fTTuFwufvOb31RobhERqdlCWYswExtj1kqkcMFkXGkZeJr3cDqWiFRypy0ox8fHA7B79+7yziIiImfJZZpcOjCd5vXr8M9PN3D/K0u5aXQ7OjRPdDqaiEi1lZ2dzVNPPcWHH36I1+vliiuuoFevXqSnp5dss27dOp588km6dOlywr7Hjh3j4YcfZsaMGfz85z+v6OgiIlKDWcdzsXK24et1Gbg8RHavJ7LnO9zNumMYhtPxRKQSO21B+eGHHy75/8FgEK9Xj0CIiFR23Vol0zC5B89/tI6n313NqD5NGd2nGaapjqGISFlbsGABmZmZJQMxhgwZwsyZM/n1r39dss26det48cUX2b17Nz169OCOO+7A5/Px1Vdf0bRpUz39JyIiFc6MSyD2yicwPH4Mw8TbaQSFc14msnMN7sadnI4nIpXYKQvKwWCQe++9lwsuuIBBgwYB8Jvf/IaEhAQeeOAB3O7T1qJFRMRBqQkB/ji+G298volP5m9n656j3DSqLbUCujEoIlKW9u/fT3JycslySkoKa9asKVnOy8ujTZs2TJgwgSZNmnDnnXfywgsvcNttt3HhhRcC8Oyzz0Z9/sTEuKj3jVZycq0KP2d1obaLjtotOmq36NSEdrNtGwDjv76rnXABO1Z8hL1+Jsnd+p7xMWtCu5UHtVt01G7OOmVV+JlnnuH48eN07dq15LNJkyZx//338+yzz3LbbbdVSEAREYmez+PihhFtSG9Yh7e+2Mz9ry7l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qMV3Pxxi2cb9rNicw6L12fg8LjqlJ9K9VQodWiTiU3FZREREROSMeJp2JblHf3JyjmHbFoahqeacoIKyiIiISBlzu0w6NE+kQ/NErh7Sik07D7N8436Wb85hyXf78XpMOjZPpHvrFDq2SMTvVZdMRERERKS0wj+spGjZhwRG3YXhDTgdp8bRXy8iIiIi5cjtMmnXNIF2TRMYNziDzTuPsGzTfpZvymHZphw87uLic/dWyXRKTyLGp+6ZiIiIiMhPMfy1sHJ3UzjvDWLOu9npODWO/mIRERERqSAu06RNk7q0aVKXcRdkkLX7CEs37mf5puKpMdwug/bNEunWKpkuLZMI+D1ORxYRERERqXRcqel4u44muHwqocad8KRnOh2pRlFBWURERMQBpmmQ0SiejEbxXHlBS7btPsqyTftZtmk/q7IO4DIN2jVLYFivxrRqXNfpuCIiIiIilYq3yyjCO9dQOO91XGktMeMSnY5UY2jmahERERGHmYZBesM6XHF+Sx6/pTf3jO/OoO6N2Ln/OI++tZLXZm4kvzDsdEwRERERkUrDMF3EDLwZrAiF377idJwaRSOURURERCoRwzBoXr82zevXZsy5zfh47vd8vnQHq7MOcPXgVnTJSHY6ooiIiIhIpWDWScU/4OeYtdRHrkgaoSwiIiJSSfk8Li47L517xncnLsbLsx+u5YWp6ziSF3Q6moiIiIhIpeBp3gNXclNsy8LKO+R0nBpBBWURERGRSq5Zvdr86druXNyvOau25HDPy4uYv3Yvtm07HU1EREREpFIo/OoFCj59AjuswRflTQVlERERkSrA7TIZ2bsp91/fk3pJsfxjxnc8+e5qDhwucDqaiIiIiIjjPK37Yx3aTdGS95yOUu2poCwiIiJShdRLjOXOcV352eAMsnYf4Z5/LOaLpTuxLI1WFhEREZGay92oA572gwit+4LwrnVOx6nWVFAWERERqWJMw+C8rg158IZetG5cl7e/2sJDby5nd85xp6OJiIiIiDjG1/NSzLr1KZzzd6zCY07HqbZUUBYRERGpohLr+PntJR25aVRb9h8q4L5XlvLxvO8JRyyno4mIiIiIVDjD7cU/8GbswmOE1s92Ok615XY6gIiIiIhEzzAMMtul0bZZAu98tYWP533Pso37uXZYa5KTazkdT0RERESkQrmSmhAYcw9mUhOno1Rb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Nm1axQeuJP633WzbtkeOHGlnZ2f/5H663k5ut3/bv3+/ff7559vff//9SfvV9OtNSkf92+iofxsd9W/Pnvq3p6f+bXTUv42O+rfRUf+26tAI5TKwYMECMjMziY+PJxAIMGTIEGbOnFmyfvfu3RQWFtK5c2cALr744hPW11TJycnceeedeL1ePB4PLVq0YM+ePSdss27dOl588UVGjRrFpEmTKCoqciht5bFt2zYArr/+ekaPHs2bb755wnpdb6d33333cdttt5GQkHDC57re/uPdd99l4sSJpKSkALBmzRqaNGlCo0aNcLvdjBo16qTrKhQKsXTpUoYMGQLUzGvvf9vN6/UyceJE4uLiMAyDjIyMk37PAaxdu5aPPvqIUaNG8Yc//IEjR45UdHRH/W+7FRQUsGfPHu6++25GjRrFM888g2VZJ+yj6+3kdvtvjz32GFdccQVNmzY9aV1Nv96kdNS/jY76t9FR//bsqX97eurfRkf92+iofxsd9W+rDhWUy8D+/ftJTk4uWU5JSSE7O/uU65OTk09YX1O1bNmypFO4fft2PvvsM/r371+yPi8vjzZt2jBhwgQ++ugjjh49ygsvvOBQ2srj6NGjnHPOOTz//PO8+uqrvPPOO8yfP79kva63n7ZgwQIKCwsZNmzYCZ/rejvRn//8Z7p3716yfLrfcwCHDh0iLi4Ot9sN1Mxr73/brUGDBvTp0weA3NxcJk+ezPnnn3/SfsnJyfzyl7/kk08+oV69eic9rlrd/W+7HThwgMzMTB566CHeffddli1bxvvvv3/CPrreTm63f9u+fTtLlixh/PjxP7pfTb/epHTUv42O+rfRUf/27Kh/Wzrq30ZH/dvoqH8bHfVvqw4VlMuAZVkYhlGybNv2CcunW1/Tbdmyheuvv57bb7/9hDtNsbGxvPzyy7Ro0QK3283111/PN99841zQSqJLly489thj1KpVi4SEBC655JIT2kXX20975513uO666076XNfbTyvNdfVjn+naK5adnc0111zD2LFj6dWr10nrn3/+ebp164ZhGPz85z9n7ty5DqSsPBo1asTzzz9PSkoKMTExXH311Sf9POp6O7UpU6Zw1VVX4fV6f3S9rjcpDfVvz476t2dG/duzo/5tdNS/PTvq354Z9W/Pjvq3lY8KymUgLS2NnJyckuWcnJwThuf/7/oDBw78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\n",
      "text/plain": [
       "<Figure size 1440x504 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_performance(loss=losses, accuracy=accuracies, log_file=f'{log_dir}/lstm_base.pdf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h2>Hopfield-based Network</h2>\n",
    "\n",
    "The instantiation of the heart of a Hopfield-based network, the module <code>Hopfield</code>, is even simpler. Only <i>one</i> argument, the size of the input, needs to be set.\n",
    "<br><br>\n",
    "<table>\n",
    "    <tr>\n",
    "        <th>Argument</th>\n",
    "        <th>Value (used in this demo)</th>\n",
    "        <th>Description</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>input_size</code></th>\n",
    "        <th>num_characters (20)</th>\n",
    "        <th>Size (depth) of the input (state pattern).</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>...</code></th>\n",
    "        <th>default</th>\n",
    "        <th>The remaining arguments are not explicitly used in this example.</th>\n",
    "    </tr>\n",
    "</table>\n",
    "\n",
    "An additional output projection is defined, to downproject the result of <code>Hopfield</code> to the correct output size. Afterwards, everything is wrapped into a container of type <code>torch.nn.Sequential</code> and a corresponding optimiser is defined. Now the Hopfield-based network and all auxiliaries are set up and ready to <i>associate</i>!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "set_seed()\n",
    "hopfield = Hopfield(\n",
    "    input_size=latch_sequence_set.num_characters)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "output_projection = Linear(in_features=hopfield.output_size * latch_sequence_set.num_instances, out_features=1)\n",
    "network = Sequential(hopfield, Flatten(), output_projection, Flatten(start_dim=0)).to(device=device)\n",
    "optimiser = AdamW(params=network.parameters(), lr=1e-3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3 style=\"color:rgb(0,120,170)\">Operate Hopfield-based Network</h3>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "losses, accuracies = operate(\n",
    "    network=network,\n",
    "    optimiser=optimiser,\n",
    "    data_loader_train=data_loader_train,\n",
    "    data_loader_eval=data_loader_eval,\n",
    "    num_epochs=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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wXBiXxEAAACY68svv9SDDz6o/v3765JLLtETTzyhTz/9tNn3N1lQnjZtmsaPH6+3335b7777rq644grdeuutrQo6F7mddvnpUAYAAMg4K1eu1JAhQzRw4EAtWrSo0fnXXntNXq9XXq9X1157rWpqaiTVL9QvvvhinXnmmbriiisSr+/Zs0eXXXaZBg8erIsvvlhVVVXt+jxm8AXDcjsdZocBAAAASQceeKCk+lnKH3/8sUpLSxWJRJp9f5MF5V27dumcc85JHI8cOVK7d+9OItTc5nYy8gIAACDTVFZWat68eVq8eLGWL1+uJUuWaMuWLYnze/bs0ZQpUzRv3jytXLlSPXv21Lx58yRJt956qy666CKtWrVKvXr10n333SdJmj9/vvr06aMXX3xR5557rmbMmGHKs7WXcCSqulCUkRcAAABponPnznrooYfUq1cvPfPMM3r11VdVW1vb7PubLChHo1F9/fXXiePq6uqkAs11bpdd/kDI7DAAAADQAuvWrVPfvn1VVFQkl8ulQYMGadWqVYnzn332mQ466CD16NFDknTKKafolVdeUTgc1ttvv61BgwZJkkaMGJG4b+3atfJ6vZKkYcOG6fXXX1c4nL2NB/5gfbcLIy8AAADSw7Rp0+RwONSnTx/16tVLd911l37zm980+/4mN+W75JJLdP7552vw4MGyWCx64YUXNGbMmFYFnYs8TrsCtRHFYoasVovZ4QAAAKAZduzYoeLi4sRxSUmJNmzYkDg+5JBDtH37dm3evFk9e/bUiy++qJ07d2r37t1yu93Ky6tfbhcXF6uysrLRe+bl5cntdqu6ulqlpaXt+GTtx7e3qcJNQRkAACAtzJ49W3PmzJEkTZ48WZMnT27R/U0WlEeMGKHu3bvrjTfeUCwW09SpU9WvX7/kos1hbqddhqSa2rA8LubHAQAAZIJYLCaL5dtmAMMwGhx36NBBs2fP1k033aRYLKbzzjtPdru90XWSGh1/9z2t1iZ/ONhA587uFl3fVoqLPS2+58uv638+efBBByR1fzbI1eduLfKWPHKXHPKWPHKXHPKWHPLWeh9++OE+16vN1WRBedSoUVqxYoX69u2b1AegXnxmnD9IQRkAACBTlJWV6Z133kkcV1VVqaSkJHEcjUZVVlamp556SpK0YcMGdevWTZ06dZLP51M0GpXNZmtwX0lJiXbu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e4w5c+a0d+im+n7ePv30U+OMM84wfD6fEYvFjOuuu8545JFHGt03bdo0Y+XKle0fcBr5fu4MwzCGDRtmVFZW/uB9fOca5y1ux44dxmmnnWb85z//aXQf3zm0Fmvg5LEOTg7r4LbBOrhprIOTwzo4OayBk8c6OHPQobwP69atU9++fVVUVCSXy6VBgwZp1apVifPbtm1TbW2tjj76aEnSiBEjGpzPVcXFxZoyZYocDofsdrsOO+wwffnllw2u2bRpkx544AF5vV5NmzZNdXV1JkWbPj799FNJ0rhx43TWWWfpz3/+c4PzfN+a55ZbblFFRYU6derU4HW+c99aunSppk6dqpKSEknShg0b1L17d3Xr1k15eXnyer2NvlvhcFhvv/22Bg0aJCk3v3/fz5vD4dDUqVPldrtlsVj04x//uNHfdZK0ceNGLVu2TF6vV7/5zW/0zTfftHfopvt+7oLBoL788kv97ne/k9fr1V133aVYLNbgHr5zjfP2XXPmzNEFF1ygQw45pNE5vnNoLdbAyWMdnBzWwW2DdXDTWAcnh3VwclgDJ491cOagoLwPO3bsUHFxceK4pKRElZWV+z1fXFzc4HyuOvzwwxOLvc8++0wvvviiBgwYkDhfU1Ojn/zkJ5o8ebKWLVumPXv26L777jMp2vSxZ88eHX/88br33nv16KOP6sknn9Tf/va3xHm+b01bt26damtrNXjw4Aav851raMaMGerTp0/iuKm/6yRp9+7dcrvdysvLk5Sb37/v561r16464YQTJEnV1dVatGiRTjvttEb3FRcX68orr9Rzzz2nLl26NPoZai74fu527typvn37aubMmVq6dKneeecdPf300w3u4TvXOG9xn332md566y2NHj16n/fxnUNrsQZOHuvg5LAObj3Wwc3DOjg5rIOTwxo4eayDMwcF5X2IxWKyWCyJY8MwGhw3dT7XffLJJxo3bpyuu+66Bv/lqLCwUAsXLtRhhx2mvLw8jRs3Tq+99pp5gaaJn/3sZ5ozZ448Ho86deqkUaNGNcgL37emPfnkk/rlL3/Z6HW+cz+sOd+tfb3G969eZWWlxowZo5EjR+q4445rdP7ee+/Vz3/+c1ksFo0fP15vvPGGCVGml27duunee+9VSUmJnE6nfvGLXzT63yTfuf1bsmSJLrroIjkcjn2e5zuH1mIN3Hqsg1uGdXDrsQ5ODuvg1mEd3DKsgVuPdXD6oaC8D2VlZaqqqkocV1VVNWi3//75nTt37rMdPxe9++67Gjt2rK699lqdc845Dc59+eWXDf4rnGEYif/6lsveeecdrV+/PnH8/bzwffthoVBIb7/9tk499dRG5/jO/bCm/q6TpE6dOsnn8ykaje73mlz073//WxdccIHOOecc/epXv2p03ufz6dFHH00cG4Yhm83WjhGmp48++kgvvfRS4nhf/5vkO7d/a9as0ZAhQ/Z5ju8c2gJr4NZhHdxyrINbh3Vw8lgHJ491cMuxBm491sHph4LyPvTr10/r169XdXW1gsGgVq9erf79+yfOd+3aVfn5+Xr33XclSStWrGhwPld99dVX+tWvfqW5c+dq6NChjc4XFBTo97//vbZu3SrDMLRo0SKdccYZJkSaXnw+n+bMmaO6ujr5/X4tW7asQV74vv2wjz76SIcccohcLlejc3znfthRRx2l//znP/rvf/+raDSq559/vtF3y263q0+fPnrhhRckScuXL8/575/f79ell16qq6++WuPGjdvnNS6XSw899FBip/o///nPfPdUv7ibOXOmvvnmG4XDYS1ZsqRRXvjO7Vt1dbVqa2vVrVu3fZ7nO4e2wBo4eayDk8M6uHVYByePdXByWAcnhzVw67AOTk8UlPehtLRUFRUVGj16tM4++2wNGzZM5eXlmjBhgjZu3ChJmjt3rmbNmqUzzzxTgUBgv3NccsnDDz+suro63X777Ro+fLiGDx+uJ554IpG3Tp06adq0abriiit05plnyjCMff48K9eccsopGjBggM4++2yNHDlSI0eO1M9+9jO+b820detWlZWVNXiN71zz5Ofn6/bbb9evf/1rDRkyRD/60Y905plnSpJuuOEGrVmzRpI0depULV26VEOGDNE777yja665xsSozff0009r586deuSRRxJ/1915552Svs2bzWbT/Pnzdcstt2jw4MF6//33NXnyZJMjN1/Pnj112WWX6cILL9TQoUP1k5/8RMOGDZPEd64pX3zxRaO/6yS+c2hbrIGTxzo4OayDW4d1cPJYByeHdXByWAO3Duvg9GQxDMMwOwgAAAAAAAAAQPqjQxkAAAAAAAAA0CwUlAEAAAAAAAAAzUJBGQAAAAAAAADQLBSUAQAAAAAAAADNQkEZAAAAAAAAANAseWYHAABo6IgjjtCPf/xjWa0N/5vfvffeq4MPPrjNP2v9+vXq1KlTm74vAAAA0FKsgwEgM1BQBoA09Kc//YnFLQAAAHIO62AASH8UlAEgg/zjH//Q3LlzddBBB+nTTz9VQUGBbr/9dh122GHy+Xy69dZbtXnzZlksFp100kn6v//7P+Xl5em9997T9OnTFQwGZbfbdd111+n444+XJN19991677339PXXX+vSSy/VxRdfbPJTAgAAAA2xDgaA9EFBGQDS0JgxYxr81O/ggw/WvffeK0natGmTfvvb36pPnz564oknNHnyZD377LOaPn26ioqKtHLlSoXDYV1xxRX64x//qF/+8pf61a9+penTp+vkk0/Wpk2bdP3112vFihWSpG7dumnq1Kn64IMPdP755+u8886T3W435bkBAACQ21gHA0D6o6AMAGnoh37q17NnT/Xp00eSNHLkSE2bNk27d+/W66+/rieeeEIWi0UOh0MXXHCB/vSnP+mEE06Q1WrVySefLEnq1auXVq5cmXi/YcOGSZJ+8pOfKBQKye/3q2PHjql9QAAAAGAfWAcDQPqzNn0JACCd2Gy2fb4Wi8VksVgSr8ViMUUiEdlstgavS9LHH3+sSCQiScrLq/9vi/FrDMNIVegAAABA0lgHA0B6oKAMABlm8+bN2rx5syRpyZIl+tnPfqYOHTroxBNP1J///GcZhqFQKKSlS5eqX79++tGPfiSLxaK//e1vkqT3339fY8aMUSwWM/MxAAAAgBZhHQwA6YGRFwCQhr4/O06S/u///k8FBQU68MADNX/+fG3btk2dOnXSnDlzJEk33nijpk+fLq/Xq3A4rJNOOkmXX365HA6H7r77bs2cOVNz5syR3W7X3XffLYfDYcajAQAAAPvFOhgA0p/F4DcdAJAx/vGPf+i2227T888/b3YoAAAAQLthHQwA6YORFwAAAAAAAACAZqFDGQAAAAAAAADQLHQoAwAAAAAAAACahYIyAAAAAAAAAKBZKCgDAAAAAAAAAJqFgjIAAAAAAAAAoFkoKAMAAAAAAAAAmoWCMgAAAAAAAACgWf4/0UqD8WSdWA0AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1440x504 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_performance(loss=losses, accuracy=accuracies, log_file=f'{log_dir}/hopfield_base.pdf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3 style=\"color:rgb(0,120,170)\">Adapt Hopfield-based Network</h3>\n",
    "<h3 style=\"color:rgb(208,90,80)\">We can now explore the functionality of our Hopfield layer <code>Hopfield</code>.</h3>\n",
    "\n",
    "As described in the paper the Hopfield layer allows:\n",
    "- association of two sets\n",
    "- multiple updates\n",
    "- variable beta\n",
    "- changing the dimension of the associative space\n",
    "- pattern normalization\n",
    "- static patterns for fixed pattern search\n",
    "\n",
    "This time, additional arguments are set to influence the training as well as the validation performance of the Hopfield-based network.\n",
    "<br><br>\n",
    "<table>\n",
    "    <tr>\n",
    "        <th>Argument</th>\n",
    "        <th>Value (used in this demo)</th>\n",
    "        <th>Description</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>input_size</code></th>\n",
    "        <th>num_characters (20)</th>\n",
    "        <th>Size (depth) of the input (state pattern).</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>hidden_size</code></th>\n",
    "        <th>8</th>\n",
    "        <th>Size (depth) of the association space.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>num_heads</code></th>\n",
    "        <th>8</th>\n",
    "        <th>Amount of parallel association heads.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>update_steps_max</code></th>\n",
    "        <th>3</th>\n",
    "        <th>Number of updates in one Hopfield head.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>scaling</code></th>\n",
    "        <th>0.25</th>\n",
    "        <th>Beta parameter that determines the kind of fixed point.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>dropout</code></th>\n",
    "        <th>0.5</th>\n",
    "        <th>Dropout probability applied on the association matrix.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>...</code></th>\n",
    "        <th>default</th>\n",
    "        <th>The remaining arguments are not explicitly used in this example.</th>\n",
    "    </tr>\n",
    "</table>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "set_seed()\n",
    "hopfield = Hopfield(\n",
    "    input_size=latch_sequence_set.num_characters,\n",
    "    hidden_size=8,\n",
    "    num_heads=8,\n",
    "    update_steps_max=3,\n",
    "    scaling=0.25,\n",
    "    dropout=0.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "output_projection = Linear(in_features=hopfield.output_size * latch_sequence_set.num_instances, out_features=1)\n",
    "network = Sequential(hopfield, Flatten(), output_projection, Flatten(start_dim=0)).to(device=device)\n",
    "optimiser = AdamW(params=network.parameters(), lr=1e-3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "losses, accuracies = operate(\n",
    "    network=network,\n",
    "    optimiser=optimiser,\n",
    "    data_loader_train=data_loader_train,\n",
    "    data_loader_eval=data_loader_eval,\n",
    "    num_epochs=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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5eUqLy9vsW/ZsmWSpAEDBuiDDz446HVlZWVas2ZNPEtLmsh8uIaAQaAMAACArOb1G8q1W5Vnz5wRdwAAAJkubiMvcHBuR3OI7PUbSa4EAAAASK6GgCEXq5MBAADSCoFygkUemCM/7wMAAACylZdAGQAAIO20K1D2+XySpPfee09r166VYRCGxopAGQAAIH1VV1drxIgRGjZsmFauXNnq+GuvvRYd+3bDDTeooaFBkvT2229r7NixGj16tCZNmqTPP/9ckvTWW29p4MCBGj16tEaPHq2bb745ofeTbL6AITeBMgAAQFppc4byvffeq3/961+64YYbNHXqVPXp00dbtmzRvHnzElFfxonMUPb6m5JcCQAAADqipqZGVVVVWr16tXJzczVu3DgNHDhQffr0kSTt27dPlZWVWrFihfr06aNly5apqqpKs2bN0syZM3X//ferX79+euaZZ3TnnXdq6dKl2rFjh6ZMmaKrrroqyXeXHD6/IU+hI9llAAAAoAPaXKH82muv6c4779TGjRs1cuRIPfbYY4d8mR7alme3KTfHygplAACANLNp0yYNGjRIhYWFcjqdGj58uDZs2BA9/umnn+rII4+MBsxnnHGGXnrpJTU1Nen6669Xv379JEl9+/bVF198IUnavn273nzzTZWXl+vqq6+O7s8WPkZeAAAApJ12jbxwOBzRB2hJampide3hcDntBMoAAABppra2Vh6PJ7pdVFSkmpqa6Hbv3r21a9eu6OKL559/Xrt371Zubq5Gjx4tSQqHw/rNb36js846S5Lkdrt1+eWXq7q6WkOHDlVFRUUC7yi5gqGw/PuDBMoAAABpps2RF127dtXtt9+uHTt26N5779XChQtVVFSUiNoylsthl89PoAwAAJBOwuGwLBZLdNs0zRbbXbp00d13361bb71V4XBYF198sez2r8PSpqYmVVZWKhgMRkdczJ07N3r80ksv1aJFi+T1euV2u9tdV/fursO5rZh4PO2v71D2ehslST09rk75vHSRTffamehbbOhbbOhbbOhbbOhbbOhbcrUZKN99991atWqVHnzwQTkcDlksFt19992JqC1juRysUAYAAEg3JSUl2rp1a3S7rq6uxUKLUCikkpISPf3005Kkbdu26aijjpIkNTQ06JprrlFhYaGWLl0qu92ucDisBx98UFdeeaVsNlv0c775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YWFC7ytRvAcWULgcjLwAAABIpu9+97t64IEHdPvtt+uTTz7RwoULNXfuXPXo0aNd17e5/CEnJ0c//elPNXDgQJ100knR/6DzuB12XsoHAACQ4gYPHqzNmzervr5egUBAGzdu1JAhQ6LHLRaLpkyZopqaGpmmqeXLl2vEiBGy2+0qKyvT+vXrJUlr166NXjd06FCtXbtWkrR+/XqVlZXJbs/MwDUy4o0ZygAAAMlVWVmp733ve5KkXr166aSTTtLNN9/c7uvbDJSPO+44ffjhh7FXiDa5nHZeygcAAJDiiouLVVFRoYkTJ+r888/XqFGjVFpaqmnTpmn79u2yWq2aO3eupk6dqnPOOUddunTRFVdcIUmaPXu2Vq1apREjRmjr1q2aMWOGJOn666/XX//6V40cOVJPPPGEbrvttiTeYXxFAmVWKAMAACTX3r17NXHiRElSXl6eJk+erLq6unZf3+bIi88++0wXXnihjjzySOXl5UX3M0O587gcdjUZYe03Qsqz25JdDgAAAA6hvLy81UtMli1bFv379NNP1+mnn97qul69emnFihWt9hcWFuqBBx7o9DpTUTRQduYmuRIAAIDsFgqFVFNTE30R9O7du1u8O68tbQbKFRUVsVeHdoms0mgIGATKAAAAyEg+f3OgXJDf5r+CAAAAII4mT56s888/X6eddposFos2bdqkm266qd3Xtzny4qSTTlJ+fr4++eQTnXDCCbLb7cxQ7mQuR/MqDa+fsRcAAADITN6AIUdejnJsbf4rCAAAAOJo7NixevTRR3X88cerf//++u1vf9vqV3jfps2nudWrV+vmm2/Www8/LK/Xq2uvvVarVq06rKLRUuTFJD7mKAMAACBD+QKG3MxPBgAASLqamho9+eSTmjx5sk455RRVVVV1aIZym4HyihUr9NRTT8nlcql79+5avXq1fve73x1W0WgpMvKCQBkAAACZyhcw5HISKAMAACTbz3/+c33ve9+T1Pyuj5NOOkm/+MUv2n19m4Gy1WqVy+WKbvfs2VM2G3N+O5OLFcoAAADIcD6/EV1IAQAAgOTZu3evJk6cKEnKy8vT5MmTO3eFcmFhod5//31ZLBZJ0nPPPacjjjgixnJxMJEXk3j9TUmuBAAAAIgPX6CJQBkAACAFhEIh1dTURLd3794t0zTbfX2br1j+xS9+oeuvv17/+te/dOqppyovL0/3339/bNXioGxWqwryc1ihDAAAgIzlDbBCGQAAIBVMnjxZ559/vk477TRJ0ubNm3XTTTe1+/o2A+Vjjz1W69at06effqpQKKRjjjlGdjsPgp3N5bATKAMAACAjNRkhNRnh6MuoAQAAkDxjx45V//799ac//Uk2m03f/e539dhjj6m8vLxd17c58kKSbDabjj32WC1atIgwOU5cTgJlAAAAZKbIcy4rlAEAAFJDz5491dTUpIcffli/+93voquV26PNFcrfVFtb2+Hi0D5uR67q9zUmuwwAAACg0xEoAwAApIZPPvlEv/vd7/Tcc8+pV69eamxs1CuvvCK3293uz2jXCuWIjgxnRscUOHLkZYUyAAAAMpCXQBkAACDprrzySl122WWy2+167LHH9L//+78qKCjoUJgsdTBQnj59eoc+HO3nduTKFzAI7QEAAJBxfP4DgbIzN8mVAAAAZK/33ntPP/jBD3Tcccfp6KOPliRZLJYOf06bgfLu3bv18ssvS5LefvttTZo0SR988EGHvwjfzuW0ywiG1WSEk10KAAAA0KkiIy/crFAGAABImldffVUXXHCB/vd//1ennnqqpk+frv3793f4c9oMlCsrK/XZZ59p8+bNeuONNzR69GjdeeedMRWNQ4v8/M8baEpyJQAAAEDnigTKBY4OvcIFAAAAnSgnJ0cjRozQihUrtHr1ahUVFWn//v0aNmyYfv/737f7c9oMlL/88ktNnjxZr7/+ukaNGqUxY8YoEAgcVvFoLbJaoyEQTHIlAAAAQOfy+Q0583Jks3Zo4h4AAADipE+fPpo1a5Zef/11XXHFFVq1alW7r23zic4wDBmGoTfeeEODBw9WIBCQ3+8/rILRmsvJCmUAAABkJm+gKfq8CwAAgNThcDh0ySWXaM2aNe2+ps1A+cwzz9TJJ5+srl27qn///rrooos0atSowyoUrUVGXkReWAIAAABkCl/AYH4yAABAhmhziNn06dN18cUXq7i4WJK0cOFC9evXL+6FZZuvZygTKAMAACCz+AKGurrykl0GAAAAOkGbK5R3796td999VxaLRb/61a80f/58ffDBB4moLasU5NtlESuUAQAAkHl8ASO6gAIAAADprc1AubKyUp999pk2b96sN954Q6NHj9add96ZiNqyitVqUYHDHn0DNgAAAJApfH6DGcoA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+vTpEz1n5syZuvPOO3XCCSfoF7/4hVatWqXx48drx44dqqys1KhRo+JVXtpyOXJZoQwAAICU4N8flGl+/a4PAAAAZL64rVDetGmTBg0apMLCQjmdTg0fPlwbNmyIHv/888/V2NioE044QZI0ZsyY6PHt27drzZo1Ki8v14033qivvvoqXmWmHZfDzgxlAAAApATvgZdFs0IZAAAge8QtUK6trZXH44luFxUVqaam5pDHPR5P9LjH49G1116r5557Tj179tTcuXPjVWbacTnsrFAGAABASvAdWOjADGUAAIDsEbeRF+FwWBaLJbptmmaL7W87vmTJkuj+qVOn6uyzz+7Qd3fv7oq17MPi8bjj/h1F3Qv0l7/VJeS7EiWT7iWR6Fts6Fts6Fts6Fts6Fts6BuSIbLQgZEXAAAA2SNugXJJSYm2bt0a3a6rq1NRUVGL43V1ddHt3bt3q6ioSF6vV88++6wmT54sqTlottlsHfruPXt8CofNw7uBDvJ43Kqr88b9e2wy1dgU0s4vvpQ9p2N9SUWJ6lumoW+xoW+xoW+xoW+xoW+xoW8dY7VakrYAIdNEVigz8gIAACB7xG3kxeDBg7V582bV19crEAho48aNGjJkSPR4r169lJeXp7fffluStG7dOg0ZMkROp1MPP/yw3nnnHUnS448/3uEVypkssvrDFwgmuRIAAABku69HXuQmuRIAAAAkStxWKBcXF6uiokITJ06UYRgaO3asSktLNW3aNE2fPl0DBgzQwoULNWvWLPl8Pv3gBz/QxIkTZbPZtHjxYt1+++1qbGxU7969tWDBgniVmXZc+c2BstffpK7uvCRXAwAAgGzmDRjKsVmVa4/bOhUAAACkmLgFypJUXl6u8vLyFvuWLVsW/btfv3565plnWl1XVlamNWvWxLO0tOWOrlDmxXwAAABILp/fkNtpb/FuFAAAAGQ2lhKkmch8OgJlAACAxKuurtaIESM0bNgwrVy5stXxd999VxdeeKHOO+88XXXVVdq3b58k6e2339bYsWM1evRoTZo0SZ9//rkk6a233tLAgQM1evRojR49WjfffHNC7+dw+QIG85MBAACyDIFymnE5m+fTef0EygAAAIlUU1OjqqoqPfHEE1q7dq2eeuopffzxxy3OmTdvnqZPn67nnntOxxxzjB555BFJ0syZM3XnnXdq3bp1Ki8v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i4mJ0fr1613G0G+YKHKvNeRea8i940fuHT9yrzXkXmvIvdaQeycJA7f9+uuvZsmSJaarq8ucP3/epKSkmOPHjztdk5SUZL755htjjDG5ubmmoqLCAzP1LvX19Wb16tWmv7/fDAwMmPT0dLN7926na9avX2++/vprD83QO9ntdhMbG2sGBwdHvIZ+G92xY8dMfHy8+e2335zO029/+fbbb01ycrK54YYbTGtrq+nt7TVxcXHmp59+MoODgyYzM9N8/vnnLuPWrVtn6urqjDHGvPHGG6a4uPjfnrpHDV23lpYWEx8fb7q7u43dbjc5OTlm69atLuPy8/NNbW3tvz9hLzF03YwxJjk52bS3t486jn5zXbc/nT592ixdutScOHHCZZyv9xsmhtxrDbnXGnLvxJF7x0butYbcaw251xpy7+TBE8rjsG/fPsXExGj69OkKDg7WsmXL9Mknnzjqp06dUl9fn2655RZJ0t133+1U91WhoaF69tlnFRgYqICAAEVERKitrc3pmqamJr311ltKSUlRfn6++vv7PTRb79HS0iJJyszM1F133aXy8nKnOv02ts2bN2vjxo0KCQlxOk+//aW6ulp5eXkKCwuTJH333Xe69tprFR4eLn9/f6WkpLj01eDgoA4cOKBly5ZJ8s3eG7pugYGBysvL07Rp02Sz2TR37lyX+5wkHT58WDU1NUpJSdHTTz+ts2fP/ttT96ih69bb26u2tjY999xzSklJ0euvvy673e40hn5zXbf/r7i4WGlpaZo9e7ZLzdf7DRND7rWG3GsNuXfiyL1jI/daQ+61htxrDbl38mBDeRxOnz6t0NBQx3FYWJja29tHrIeGhjrVfdV1113nCH8nT57Uxx9/rLi4OEf9/PnzioyMVHZ2tmpqanTu3Dm9+eabHpqt9zh37pzmz5+vsrIybdu2TTt27FB9fb2jTr+Nbt++ferr69Py5cudztNvzl5++WVFR0c7jse6z0lSV1eXpk2bJn9/f0m+2XtD123mzJlauHChJKmzs1MVFRVaunSpy7jQ0FA99thj+vDDD3X11Ve7fCz1v27ounV0dCgmJkaFhYWqrq5WY2Ojdu7c6TSGfnNdtz+dPHlSX331ldLT04cd5+v9hokh91pD7rWG3Dsx5F73kHutIfdaQ+61htw7ebChPA52u102m81xbIxxOh6r7uuOHz+u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\n",
      "text/plain": [
       "<Figure size 1440x504 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_performance(loss=losses, accuracy=accuracies, log_file=f'{log_dir}/hopfield_adapted.pdf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h2>Hopfield-based Pooling</h2>\n",
    "\n",
    "The previous examples manually downprojected the result of <code>Hopfield</code> by applying a linear layer afterwards. It would've also been possible to apply some kind of <i>pooling</i>. Exactly for <i>such</i> use cases, the module <code>HopfieldPooling</code> might be the right choice. Internally, a <i>state pattern</i> is trained, which in turn is used to compute pooling weights with respect to the input."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "set_seed()\n",
    "hopfield_pooling = HopfieldPooling(\n",
    "    input_size=latch_sequence_set.num_characters)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "output_projection = Linear(in_features=hopfield_pooling.output_size, out_features=1)\n",
    "network = Sequential(hopfield_pooling, output_projection, Flatten(start_dim=0)).to(device=device)\n",
    "optimiser = AdamW(params=network.parameters(), lr=1e-3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3 style=\"color:rgb(0,120,170)\">Operate Hopfield-based Pooling</h3>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "losses, accuracies = operate(\n",
    "    network=network,\n",
    "    optimiser=optimiser,\n",
    "    data_loader_train=data_loader_train,\n",
    "    data_loader_eval=data_loader_eval,\n",
    "    num_epochs=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABZQAAAHsCAYAAABFbSiOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAACG9klEQVR4nOzdeXxU9dn///eZLZnJDIYlC1IrVqzUQrQ2tyAiuIIsI0pxQ4sUwe22aH5Ki3UBcStWjEtdKrZaFReqLNIq4lK3G1rBbyvgWrXWBQmBIMxkJpkzM+f3RzKDacAkQ2ZLXs/H3cedM+ecmet8kvt+HN695jqGZVmWAAAAAAAAAABogy3bBQAAAAAAAAAA8gOBMgAAAAAAAACgXQiUAQAAAAAAAADtQqAMAAAAAAAAAGgXAmUAAAAAAAAAQLsQKAMAAAAAAAAA2oVAGQAAAAAAAADQLo5sF5AO27fXKx63MvqZvXt7tW1bMKOf2RWwbqlh3VLDuqWGdUsN65Ya1i01rFvH2GyGevYsynYZnSbT9778vaWOtUsN65Ya1i01rFtqWLfUsG6pYd3aL133vV0yUI7HrYwHyonPRcexbqlh3VLDuqWGdUsN65Ya1i01rFv3lY17X/7eUsfapYZ1Sw3rlhrWLTWsW2pYt9SwbtnFyAsAAAAAAAAAQLsQKAMAAAAAAAAA2qVLjrwAAABAa7FYVNu31yoajWS7lIxwOFzq2bNEdju3vAAAAEBn4e4aAACgm9i+vVaFhR4VFZXLMIxsl5NWlmWpvn6ntm+vVZ8+fbNdDgAAANBlMPICAACgm4hGIyoq6tHlw2RJMgxDRUU9uk03NgAAAJApBMoAAADdSHcIkxO607UCAAAAmUKgDAAAAAAAAABoFwJlAAAAZFwwGNSVV17R7uPff/9d/frX16exIgAAAADtwUP5AAAAkHGBwE79618ftPv4gQMP0ezZh6SxIgAAAADtQaAMAACAjLv99t9o69ZaXXnlFfrPf/6tffYpVkFBgW688RbdfPP1qq3doq1ba1VZeYRmz75G//jHW/rDH+7Xb397vy655HwdcsgP9fbb/9TXX2/XZZfN0pFHHpXtSwIAAAC6BQJlAACAbuj/NnylN9Z/lZb3Hl7RV0cN7vutx1x22Sz9/OcXaObM/0+nnXay/vSnu9S377564YWVOuig7+uGG+bLNE2dc85p+uCD91udb5pR/e53D+qNN17TwoX3EigDAAAAGUKgDAAAgKzq2bOX+vbdV5J04okn6d13N2rx4sf06af/1o4dOxQOh1qdM2TIkZKk733vQAUCOzNaLwAAANCdESgDAAB0Q0cNbruLOFMKCgqSPz/11BN65ZWXdfLJp2rSpCP0739/LMuyWp3jcrkkSYZh7HY/AAAAgPSwpfPNV6xYobFjx2rUqFFatGjRHo975ZVXdNxxxyW3N23apLPPPlsnnXSSLrroItXX16ezTAAAAGSY3W5XLBZr9fratX/XySdP1KhRYxSJRPSvf32oeDyehQr3LBgMavz48friiy9a7Xvvvfc0ceJEjR49WldddZWi0aikPd/f7ty5U+eff77GjBmjs88+W7W1tRm9FgAAAKCj0hYo19TUqLq6Wo899piWLVumJ598Uh999FGr47Zu3ar58+e3eO26667T5MmTtXLlSg0aNEj33HNPusoEAABAFvTq1VtlZeW66abrWrx++umT9eCD92vKlDN0xx0LNGhQhb76alOWqmzt7bff1llnnaVPP/10t/tnzZqla6+9Vs8//7wsy9LixYsl7fn+9vbbb1dlZaWee+45nXbaabrxxhszdSkAAABAStIWKK9evVpDhw5VcXGxPB6PRo8erZUrV7Y67uqrr9Yll1yS3DZNU2vXrtXo0aMlSRMnTtzteQAAAMhfDodD9933B9111+/01FMrkq//+Mf/o8cfX6KHH35S9977e91++z3y+0/R4YdX6re/vV+S9Nvf3q/DD6+UJPXtu2+L89Nt8eLFmjNnjkpLS1vt+/LLL9XQ0KDDDjtM0q772G+7v33llVfk9/slSePHj9drr70m0zQzczEAAABACtI2Q3nLli0qKSlJbpeWlmr9+vUtjnn44Yd1yCGH6NBDD02+tn37dnm9XjkcTaWVlJSopqYmXWV2imf+79/63n49Nei7xdkuBQAAAGn0bR3E/33/m7iP/bb722+e43A45PV6VVdXp7KysjRexd7Z9Mi1Ms1oq9c9/islSQ2rFym+7bNW+wuOnCx7n/1lfvC6zA/faLXf+f3hch58tGJb/6PGNY+12m/02k+/2zRYdTsbdEZs+W5re9I+QZJ0bPwNlVrbWu3/q+0obTH66Ifx9zXI+qDV/o3GwXrHNlCl1lYdG/+/Vvu3GL31V9twSUqp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GZL8Nt/OnTs1e/ZsPfLIIxowYIAWLlyo6upqXX311Zo1a5buueceDRw4UE899ZRuuOEG3Xvvvdq4caOmTZumCy64IMtXl1n1zY0VzFAGAADIP212KFdWVuovf/mLLrjgAk2fPl3PPvusjjjiiEzU1qX53Iy8AAAAyCerV6/W0KFDVVxcLI/Ho9GjR2vlypXJ/Z9++qn23XffZMB87LHH6sUXX1QkEtGll16qgQMHSpIOPvhgffXVV5Kavv33xhtvyO/368ILL0y+3tUlvqlHhzIAAED+abNDWZKKi4s1cuTI5PZZZ52lxx9/PG1FdQdet1P//mpntssAAABAO23ZskUlJSXJ7dLSUq1fvz653b9/f23evFnvv/++Bg4cqOeee05bt26Vy+XShAkTJEnxeFy//e1vkw+49vl8GjNmjEaNGqXHH39cVVVVeuKJJzpUV+/e3k64uo4pKfHt1fmbdzRKkr7Td5+9fq98092ut7Owbqlh3VLDuqWGdUsN65Ya1i272hUo/7cPPvigs+vodryepg5ly7JkGEa2ywEAAEAb4vF4i/u2/76P69Gjh+bPn69rrrlG8Xhcp59+upzOXR24kUhEs2fPVjQaTY64mDdvXnL/WWedpQULFigQCMjna/8/krZtCyoet/bm0jqkpMSn2trAXr3HF1/tkCTFItG9fq980hlr1x2xbqlh3VLDuqWGdUsN65Ya1q39bDYjLc0HbY68QHr43C5FY5YaIrFslwIAAIB2KC8vV21tbXK7trZWpaWlye1YLKby8nL96U9/0tNPP60f/OAH2m+//SRJ9fX1mj59uqLRqO699145nU7F43Hde++9isVa3g/a7fbMXFAWBRl5AQAAkLcIlLMkcfPMHGUAAID8MGzYMK1Zs0Z1dXUKh8NatWqVRowYkdxvGIamTZummpoaWZalhx56SGPHjpXU9KDr/fffX7fffrtcLpckyWaz6YUXXtDzzz8vSVq2bJkOPfRQeTyezF9chu2aoZzSFyYBAACQRXu8g7vhhht2+7plWTJNQtC99c1AuaTYneVqAAAA0JaysjJVVVVpypQpMk1TkyZNUkVFhWbMmKGZM2dq8ODBmjdvnqZPn65IJKIjjzxS5513nt5991299NJLGjBggE499VRJTfOXFy5cmByRcffdd6tXr1665ZZbsnyVmREMmSpw2eV0dP1ubAAAgK5mj4FycXHxHk9KzHxD6ryepkA5ECKcBwAAyBd+v19+v7/FawsXLkz+fMwxx+iYY45psf+QQw7Z4zNIDjrooA4/hK8rCIYj8jHuAgAAIC/tMVC+5JJLMllHt+NLdihHslwJAAAAkFnBcFRFBMoAAAB5iRnKWZLoUA7SoQwAAIBuhg5lAACA/EWgnCXuAodshqFgA4EyAAAAupdAyEw2WAAAACCztm/fvlfntxkoR6PRvfoA7J7NMOR1O+hQBgAAQLcTDJvJh1QDAAAgs8aNG6fLL79c69atS+n8NgPlY489VtXV1fryyy9T+gDsmdfjUiBMoAwAAIDuIxqLqyESY+QFAABAlrz88ssaNmyYbrnlFvn9fi1atEjBYLDd57cZKC9evFh2u13nnHOOLrjgAr3yyiuyLGuvikYTr9tJhzIAAAC6lWBzQwUdygAAANlRWFion/zkJ1q8eLGuvvpq/eEPf9DRRx+t6667rl3jMNoMlPv27auZM2fqpZde0mmnnabrr79exx9/vB544AFFIpFOuYjuyut2Jm+oAQAAgO4g0VDh9biyXAkAAED39dprr+nnP/+5qqqqdMIJJ+iJJ55Q3759dfHFF7d5rqM9H/Dxxx/rT3/6k/785z/rsMMO08SJE/X666/r0ksv1b333rvXF9Bded1OfUSgDAAAgG4kQIcyAABAVh177LEqLi7W5MmT9Zvf/EaFhYWSpIMPPlhPPvlkm+e3GSifddZZ+vzzz/WTn/xETz31lMrLyyVJxxxzjIYOHbqX5XdvPo9T9WFTlmXJMIxslwMAAACkXX1zoMwMZQAAgOxYsGCBDj74YBUVFSkSiWjbtm3q3bu3JOmll15q8/w2R15MnjxZf/3rX1VVVZUMkyXJZrPpr3/9616UDq/bqVjcUrgxlu1SAAAAgIxIdCgXESgDAABkxebNm3XqqadKkr788kuNGzdOL7/8crvPb7NDecyYMXryySf1xhtvyG6369hjj9VPfvITSVJRUVGKZUPa9TW/YDgiT2G7po8AAAAAeS0YanoOCyMvAAAAsuO+++7Tww8/LEk64IADtHTpUl188cU67rjj2nV+mynmjTfeqI8++kgTJkyQZVl6+umn9dlnn6mqqmrvKod8nqab6EDYVGnPLBcDAAAAZEAgbKrQZZfT0eaXJQEAAJAG8Xi8xSSKvn37Kh6Pt/v8NgPl//u//9Nf/vIXOZ1N4efJJ5+sk08+mUC5E3jdTU+2TjzpGgAAAOjqgmGT7mQAAIAs6tWrl5544glNmjRJhmFo6dKl6tOnT7vPb7MtoFevXorFds34NQxDPXr0SK1atOD1JEZeECgDAACgeyBQBgAAyK558+Zp8eLFqqioUEVFhRYvXqw5c+a0+/w2O5QHDhyoyZMna+LEibLb7Xr22WfVs2dPPfjgg5Kkn/3sZ6lX3815C5tHXtChDAAAgG4iGDKTjRUAAADIvP79+2vJkiXasWOH7Ha7vF5vh85vM1BubGzUwQcfrHfeeUeS9J3vfEeS9OGHH6ZQLr7JXWCX3WbQoQwAAIBuIxg21be3J9tlAAAAdFt1dXV65plnVF9fL8uyFI/H9Z///EcLFixo1/ltBso333yzJOnLL79UNBrV/vvvv3cVI8kwDHndTgXDkWyXAgAAAGREIGwmnyUCAACAzLvssstUWFiojz76SMOGDdPq1av14x//uN3ntzlD+T//+Y/GjRunU045RRMnTtQJJ5ygjz/+eK+Kxi5ej1PBcDTbZQAAAABpZ0bjaozEGHkBAACQRZs2bdL999+vESNG6JxzztHjjz+uTz75pN3ntxkoz5s3T9OnT9fatWv11ltv6aKLLtJ11123V0VjF5/bqWCIDmUAAAB0fYlRbzyUDwAAIHv69OkjqWmW8ocffqiysjJFo+1veG0zUN62bZtOPfXU5PZPfvITbd++PYVSsTtet1MBZigDAACgG0gEyj4CZQAAgKzp3bu3HnjgAQ0aNEhPP/20Xn75ZTU0NLT7/DYD5Vgspq+//jq5XVdXl1Kh2D2vx8VD+QAAANAtJL6ZR4cyAABA9sybN08ul0uVlZUaNGiQ7rzzTl1xxRXtPr/Nh/Kdc845OuOMMzRmzBgZhqFnn31W55577l4VjV28boeCYVNxy5LNMLJdDgAAAJA2iW/mMUMZAAAge+bPn69bbrlFkjRr1izNmjWrQ+e32aE8ceJEXXfddTJNUw0NDZozZ44mT57crjdfsWKFxo4dq1GjRmnRokWt9r/44ouaMGGCTj75ZF188cXasWOHpKbB0GeffbZOOukkXXTRRaqvr+/QReUTr9sly5JCDTyYDwAAAF1bPTOUAQAAsu69996TZVkpn99mh/KkSZO0fPlyDR06tENvXFNTo+rqai1ZskQul0tnnnmmhgwZogEDBkiSgsGg5s6dq6efflplZWW64447dNddd+nqq6/Wddddp8mTJ2vcuHG6++67dc8993Q4Kc8XiflxwbDJjTUAAAC6tACBMgAAQNaVlpZq3LhxOvTQQ1VUVJR8/eqrr27X+W12KLvdbm3evLnDha1evVpDhw5VcXGxPB6PRo8erZUrVyb3m6apOXPmqKysTJJ08MEH66uvvpJpmlq7dq1Gjx4tqalD+pvndTWJr/sFQ8xRBgAAQNcWDJlyF9jlsLf5zxAAAACkyY9+9CONHTtW/fr1U3FxcfI/7dVmh3I4HNbxxx+v8vJyeTye5OsrVqz41vO2bNmikpKS5HZpaanWr1+f3O7Zs6dOPPFESVJDQ4Puv/9+/fSnP9X27dvl9XrlcDSVVlJSopqamnZfUL7xfqNDGQAAAOjK+FYeAABA9l1yySV7dX6bgfJVV12V0hvH43EZ33jInGVZLbYTAoGA/vd//1cDBw7UqaeeqpqamlbH7e68b9O7tzelmvdWSYmvw+fE7XZJkuGwpXR+V9Bdr3tvsW6pYd1Sw7qlhnVLDeuWGtYN+aApUHZluwwAAIBuze/37/b1thqIE9oMlJctW6abbrqpxWszZ87UEUcc8a3nlZeXa926dcnt2tpalZaWtjhmy5YtOu+88zR06FD96le/kiT16tVLgUBAsVhMdrt9t+e1Zdu2oOLx1AdLp6KkxKfa2kCHz4tEmh7Gt2lLIKXz812q69bdsW6pYd1Sw7qlhnVLDeuWGtatY2w2I2sNCN1dIGyqh4dAGQAAIJuuueaa5M+maeovf/mL9ttvv3afv8dAec6cOaqpqdFbb72lurq65OvRaFSff/55m288bNgw3XXXXaqrq5Pb7daqVat0/fXXJ/fHYjFdeOGFGjNmjC6++OLk606nU5WVlXr22Wfl9/u1bNkyjRgxot0XlG8KnE0z5JihDAAAgK4uGDK1b++itg8EAABA2vx3o/CwYcN05pln6qKLLmrX+XsMlCdNmqR//etf+uCDD5IPyJMku92uww47rM03LisrU1VVlaZMmSLTNDVp0iRVVFRoxowZmjlzpjZv3qx3331XsVhMzz//vCRp0KBBuvHGGzVnzhzNnj1b9957r/r27avbbrutXReTjwzDkNftSD7xGgAAAOiqgmFTPg8zlAEAAHLJ9u3btWXLlnYfv8dAefDgwRo8eLCGDRum8vLylIrx+/2tZnIsXLgw+f7vv//+bs/r16+fHnnkkZQ+Mx953S46lAEAANClmdGYGs0YD+UDAADIsv/Oazdt2qQzzjij3ee3OUP5q6++0qxZs7Rjxw5Z1q65xO0d0oy2+TxOBelQBgAAQBcWDDc9O4RAGQAAILu+OUPZMAz16tVLBx54YLvPbzNQvvbaazVx4kQdcsghMgwjtSrxrbxupz7bEsx2GQAAAEDaBEIRSQTKAAAA2fbd735X9913n+bOnatPPvlEt956q+bNm6c+ffq06/w2A2WHw6Gf/exne10o9szrcaqeDmUAAAB0YYlv5DFDGQAAILtmz56t4447TlLT6OEjjjhCV155ZXJUcVtsbR1w0EEH6YMPPti7KvGtfO6mQDket9o+GAAAAMhDiUCZDmUAAIDs2r59u6ZMmSJJKigo0NSpU1VbW9vu89vsUP7888/1k5/8RPvuu68KCgqSrzNDufN43U5ZkuobTPk8rmyXAwAAAHS6ZKDM/S4AAEBWxWIx1dTUqKysTJK0devWFs/Oa0ubgXJVVVXq1aFdvM1f+wuGCZQBAADQNQVDTYFyUWGb/wQBAABAGk2dOlWnnHKKjj76aBmGodWrV+sXv/hFu89vc+TFEUccocLCQn3yySc67LDD5HQ6dcQRR+xV0Wgp8bW/QIg5ygAAAOiaAmFT7gKHHPY2/wkCAACANJo0aZIefPBBHXLIIRo0aJD+8Ic/yO/3t/v8Nu/mlixZoiuvvFIPPPCAAoGALr74Yi1evHivikZLPndTV3KQB/MBAACgiwqGTfmYnwwAAJB1NTU1euKJJzR16lQdddRRqq6u7tAM5TYD5UceeURPPvmkvF6vevfurSVLluiPf/zjXhWNlhIdygTKAAAA6KqCYTM56g0AAADZ88tf/lLf+973JEn9+vXTEUccoV/96lftPr/NQNlms8nr9Sa3+/btK7vdnkKp2JPEjXUgFMlyJQAAAEB6BENmspECAAAA2bN9+3ZNmTJFklRQUKCpU6d2bodycXGx3nvvPRmGIUl65plntM8++6RYLnanwGmXy2FTfTia7VIAAACAtAiGIwTKAAAAOSAWi6mmpia5vXXrVlmW1e7z23zE8q9+9Stdeuml+uyzzzR8+HAVFBTonnvuSa1a7JHX41QgTIcyAAAAuqZAmA5lAACAXDB16lSdcsopOvrooyVJa9as0S9+8Yt2n99moHzggQdq+fLl+vTTTxWLxXTAAQfI6eRGsLN53U4FQ8xQBgAAQNcTMWOKmHH5mKEMAACQdZMmTdKgQYP0t7/9TXa7Xd/97nf18MMPy+/3t+v8NkdeSJLdbteBBx6oBQsWECanic/t5KF8AAAA6JIS97l0KAMAAOSGvn37KhKJ6IEHHtAf//jHZLdye7TZofxNW7Zs6XBxaJ8it1O1OxqyXQYAAADQ6QiUAQAAcsMnn3yiP/7xj3rmmWfUr18/NTQ06OWXX5bP52v3e7SrQzmhI8OZ0TE+t4uRFwAAAOiSAgTKAAAAWXf++efrnHPOkdPp1MMPP6w///nPKioq6lCYLHUwUJ45c2aH3hzt5/U4FWqMKhqLZ7sUAAAAoFMlGie8HleWKwEAAOi+3n33Xf3whz/UQQcdpP3331+SZBhGh9+nzUB569ateumllyRJb731ls4991y9//77Hf4gfLtEt0Z9QzTLlQAAAGBPVqxYobFjx2rUqFFatGhRq/2vvvqq/H6//H6/Lr/8ctXX10uSNm3apLPPPlsnnXSSLrroouTrO3fu1Pnnn68xY8bo7LPPVm1tbUavJ1MSIy98dCgDAABkzSuvvKJTTz1Vf/7znzV8+HDNnDlTjY2NHX6fNgPl2bNn6/PPP9eaNWv0+uuva8KECbrhhhtSKhp7lnjiNQ/mAwAAyE01NTWqrq7WY489pmXLlunJJ5/URx99lNy/c+dOzZ49W9XV1VqxYoUGDhyo6upqSdJ1112nyZMna+XKlRo0aJDuueceSdLtt9+uyspKPffcczrttNN04403ZuXa0i1xj1vk7tAjXAAAANCJHA6Hxo4dq0ceeURLlixRaWmpGhsbNWrUKD3++OPtfp82A+Wvv/5aU6dO1Wuvvabx48dr4sSJCofDe1U8Wkt0KAdDkSxXAgAAgN1ZvXq1hg4dquLiYnk8Ho0ePVorV65M7v/000+17777asCAAZKkY489Vi+++KJM09TatWs1evRoSdLEiROT573yyivy+/2SpPHjx+u1116TaXa9BoNgyJSnwCG7rUMT9wAAAJAmAwYM0NVXX63XXntN5513nhYvXtzuc9tsETBNU6Zp6vXXX9evf/1rhcNhhUKhvSoYrSUDZTqUAQAActKWLVtUUlKS3C4tLdX69euT2/3799fmzZv1/vvva+DAgXruuee0detWbd++XV6vVw5H0613SUmJampqWr2nw+GQ1+tVXV2dysrK2l1X797ezri8Dikp6diDW8y4pX18BR0+rytiDVLDuqWGdUsN65Ya1i01rFtqWLfO43a7dcYZZ+iMM85o9zltBsrHH3+8jjzySP3gBz/QoEGDNH78eI0fP36vCkVrvuYHlAQIlAEAAHJSPB5v8dASy7JabPfo0UPz58/XNddco3g8rtNPP11Op7PVcdKeH35iWZZsHezi3bYtqHjc6tA5e6OkxKfa2kCHztn6dUgel73D53U1qawdWLdUsW6pYd1Sw7qlhnVLDevWfjabkZbmgzYD5ZkzZ+r0009PdknceuutGjhwYKcX0t15m+fJJZ6ADQAAgNxSXl6udevWJbdra2tVWlqa3I7FYiovL9ef/vQnSdL69eu13377qVevXgoEAorFYrLb7S3OKy0t1datW1VeXq5oNKr6+noVFxdn9LoyIRg21dNbkO0yAAAA0AnabH/YunWr3nnnHRmGod/85je6+eab9f7772eitm7F6bCrwGln5AUAAECOGjZsmNasWaO6ujqFw2GtWrVKI0aMSO43DEPTpk1TTU2NLMvSQw89pLFjx8rpdKqyslLPPvusJGnZsmXJ80aOHKlly5ZJkp599llVVlbK6XRm/NrSLRg2kyPeAAAAkN/aDJRnz56tzz//XGvWrNHrr7+uCRMm6IYbbshEbd2O1+1UgA5lAACAnFRWVqaqqipNmTJFp5xyisaPH6+KigrNmDFDGzZskM1m07x58zR9+nSddNJJ6tGjh8477zxJ0pw5c7R48WKNHTtW69at02WXXSZJuvTSS/XPf/5T48aN02OPPaZrr702i1eYPsGQKa+HQBkAAKAraHPkxddff62pU6dq/vz5Gj9+vCZOnKhFixZlorZux+tx0qEMAACQw/x+v/x+f4vXFi5cmPz5mGOO0THHHNPqvH79+umRRx5p9XpxcbHuu+++Tq8zlzSaMUWicTqUAQAAuog2O5RN05Rpmnr99dc1bNgwhcNhhUKhTNTW7fjcBMoAAADoWuqb728TD6EGAABAfmszUD7++ON15JFHqmfPnho0aJBOO+00jR8/PhO1dTtNHcqRbJcBAAAAdJrESLeiQjqUAQAAuoI2R17MnDlTp59+usrL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HTW477cec9lls/Tzn1+gmTP/P5122sn605/uUt++++qFF1bqoIO+rxtumC/TNHXOOafpgw/eb3W+aUb1u989qDfeeE0LF95LoIzUfTNQLil2Z7kaAAAAdAeBEIEyAABAqnr27KW+ffeVJJ144kl6992NWrz4MX366b+1Y8cOhcOhVucMGXKkJOl73ztQgcDOjNa7OwTKeczb/CCUxJO2AQAAkF4rVqzQvffeq2g0qnPPPVdnn312i/3vvPOOrr32Wpmmqb59++o3v/mNevToobfeeks333yzTNNUcXGxbrrpJvXr109vvvmmfv7zn6u8vFySdMghh+jmm2/OxqW12876iAqcdrmc9myXAgAA0C5HDW67izhTCgoKkj8/9dQTeuWVl3Xyyadq0qQj9O9/fyzLslqd43K5JEmGYex2f6bZsl0AUudLdihHslwJAABA11dTU6Pq6mo99thjWrZsmZ588kl99NFHLY658cYbNXPmTD3zzDM64IAD9Pvf/16SNGvWLN1www1avny5/H6/brjhBknSxo0bNW3aNC1fvlzLly/P+TBZagqUvW76UgAAANrLbrcrFou1en3t2r/r5JMnatSoMYpEIvrXvz5UPB7PQoUdQ6CcxxIdykE6lAEAANJu9erVGjp0qIqLi+XxeDR69GitXLmyxTHxeFz19fWSpHA4rMLCQkUiEV166aUaOHCgJOnggw/WV181zfDbsGGD3njjDfn9fl144YXJ13NZU6DsynYZAAAAeaNXr94qKyvXTTdd1+L100+frAcfvF9TppyhO+5YoEGDKvTVV5uyVGX70VqQx9wFDtkMQ8EGAmUAAIB027Jli0pKSpLbpaWlWr9+fYtjZs+erWnTpummm26S2+3W4sWL5XK5NGHCBElNgfNvf/tbnXDCCZIkn8+nMWPGaNSoUXr88cdVVVWlJ554InMXlYJAfSTZ2AAAAIC2ORwO3XffH1q9/uMf/48ef3zJbs85/PBKSdJvf3t/8rW+fffVU0+tSE+RHUCg3AmseEzBd15XNF4km7e3DE+xDFv6m79thiGv20GHMgAAQAbE43EZhpHctiyrxXZDQ4OuuuoqPfTQQ6qoqNCDDz6oX/7yl7r//qZ/BEQiEc2ePVvRaFQXXHCBJGnevHnJ88866ywtWLBAgUBAPp+v3XX17u3d20vrkJ31EX3/uz1VUtL+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A7Vnzx5J0rZt2zzWg9Vvv/2m7OxsrV27VsnJyV7rEREReu2119TY2ChjjEpKSjRjxgw/7DSwtLS0yOl0qr29Xa2trSovL/eoC/12aQcOHNDIkSM1aNAgrzX67fLuuusuHT58WL/88osuXryoyspKr74KCwtTbGysPvnkE0nSRx99FPS919raqsWLF+upp55SZmZmt9cMGjRI7777rvu/1hcXFwd97xljtHr1ap05c0adnZ0qLS31qgn91r3m5madP39eMTEx3a7Tb+grcq815F5ryL3WkXutI/daQ+61htxrHbk3MDFQ7oUbb7xRy5YtU3p6uubMmSO73a4777xTjz32mPbu3StJWrt2rV599VUlJibqr7/+uuT3uwST9957T+3t7VqzZo1SUlKUkpKizZs3u+sWGRmp/Px8ZWVlKTExUcaYbj+yFWwSEhI0depUzZkzR6mpqUpNTdX48ePpNx80NjZq2LBhHufoN98MHDhQa9as0ZNPPqmkpCSNGjVKiYmJkqSVK1dqx44dkqS8vDyVlZUpKSlJtbW1evrpp/24a//bunWrTp06pQ0bNrif59544w1J/9QtJCRE69at06pVqzR79mzt379fOTk5ft65f40dO1ZLlizRQw89pOTkZI0bN052u10S/daTo0ePej3PSfQb/j3kXmvIvdaQe60j91pH7rWG3GsNudc6cm9gshljjL83AQAAAAAAAAAIfLxDGQAAAAAAAADgEwbKAAAAAAAAAACfMFAGAAAAAAAAAPiEgTIAAAAAAAAAwCcMlAEAAAAAAAAAPgn19wYAAD277bbbNGbMGA0Y4Pk6YFFRkUaMGPGv/66amhpFRkb+qz8XAAAA6Am5FwACHwNlAOgnNm3aRNgFAADAVY/cCwCBjYEyAPRzu3bt0tq1a3XzzTeroaFBERERWrNmjUaPHq2Wlha99NJLqq+vl81m05QpU7R8+XKFhoaqrq5OBQUFamtrU1hYmFasWKGJEydKkgoLC1VXV6c///xTixcv1oIFC/z8KAEAABDsyL0AEBgYKANAP5GRkeHx0b8RI0aoqKhIkrRv3z4999xzio2N1ebNm5WTk6MPP/xQBQUFGjJkiCoqKtTZ2amsrCy9//77WrRokbKzs1VQUKBp06Zp3759ys3N1bZt2yRJMTExysvL048//qj58+frwQcfVFhYmF8eNwAAAIILuRcAAhsDZQDoJy730b+xY8cqNjZWkpSamqr8/HydPn1aX331lTZv3iybzabw8HClpaVp06ZNmjx5sgYMGKBp06ZJku644w5VVFS4f57dbpckjRs3Th0dHWptbdUNN9zw3z5AAAAAQOReAAh0A3q+BAAQ6EJCQro953K5ZLPZ3OdcLpcuXLigkJAQj/OSdPDgQV24cEGSFBr6v9cb/77GGPNfbR0AAADwGbkXAPyPgTIAXAXq6+tVX18vSSotLdX48eN1/fXXKz4+XsXFxTLGqKOjQ2VlZZo0aZJGjRolm82mqqoqSdL+/fuVkZEhl8vlz4cBAAAAXBa5FwD8j6+8AIB+out3yUnS8uXLFRERoaFDh2rdunU6duyYIiMj5XQ6JUkvvviiCgoK5HA41NnZqSlTpujxxx9XeHi4CgsLtXr1ajmdToWFhamwsFDh4eH+eGgAAACAG7kXAAKbzfB5DgDo13bt2qWXX35ZlZWV/t4KAAAA8J8h9wJAYOArLwAAAAAAAAAAPuEdygAAAAAAAAAAn/AOZQAAAAAAAACATxgoAwAAAAAAAAB8wkAZAAAAAAAAAOATBsoAAAAAAAAAAJ8wUAYAAAAAAAAA+ISBMgAAAAAAAADAJ/8H0qpSiMqAKvsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1440x504 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_performance(loss=losses, accuracy=accuracies, log_file=f'{log_dir}/hopfield_pooling.pdf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3 style=\"color:rgb(0,120,170)\">Adapt Hopfield-based Pooling</h3>\n",
    "<h3 style=\"color:rgb(208,90,80)\">We can now again explore the functionality of our Hopfield-based pooling layer <code>HopfieldPooling</code>.</h3>\n",
    "\n",
    "Again, additional arguments are set to influence the training as well as the validation performance of the Hopfield-based pooling.\n",
    "<br><br>\n",
    "<table>\n",
    "    <tr>\n",
    "        <th>Argument</th>\n",
    "        <th>Value (used in this demo)</th>\n",
    "        <th>Description</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>input_size</code></th>\n",
    "        <th>num_characters (20)</th>\n",
    "        <th>Size (depth) of the input (state pattern).</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>hidden_size</code></th>\n",
    "        <th>8</th>\n",
    "        <th>Size (depth) of the association space.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>num_heads</code></th>\n",
    "        <th>8</th>\n",
    "        <th>Amount of parallel association heads.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "    <tr>\n",
    "        <th><code>update_steps_max</code></th>\n",
    "        <th>3</th>\n",
    "        <th>Number of updates in one Hopfield head.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>scaling</code></th>\n",
    "        <th>0.25</th>\n",
    "        <th>Beta parameter that determines the kind of fixed point.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>dropout</code></th>\n",
    "        <th>0.5</th>\n",
    "        <th>Dropout probability applied on the association matrix.</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>...</code></th>\n",
    "        <th>default</th>\n",
    "        <th>The remaining arguments are not explicitly used in this example.</th>\n",
    "    </tr>\n",
    "</table>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "set_seed()\n",
    "hopfield_pooling = HopfieldPooling(\n",
    "    input_size=latch_sequence_set.num_characters,\n",
    "    hidden_size=8,\n",
    "    num_heads=8,\n",
    "    update_steps_max=3,\n",
    "    scaling=0.25,\n",
    "    dropout=0.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "output_projection = Linear(in_features=hopfield_pooling.output_size, out_features=1)\n",
    "network = Sequential(hopfield_pooling, output_projection, Flatten(start_dim=0)).to(device=device)\n",
    "optimiser = AdamW(params=network.parameters(), lr=1e-3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "losses, accuracies = operate(\n",
    "    network=network,\n",
    "    optimiser=optimiser,\n",
    "    data_loader_train=data_loader_train,\n",
    "    data_loader_eval=data_loader_eval,\n",
    "    num_epochs=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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JxiJSSJQBgAAyEdfXig8depUnXHGGbrwwgv7dH2PgfLs2bP1n//8R++9955mzJiROm6327XffvulV20RsHmqJElWqEHqJVCmjzIAAACGolA4GSh7aXkBAACQ9xobG7V58+Y+j+8xUJ4wYYImTJigqVOnqqamZlCKKwaGNxkomy0N6qk7cjmBMgAAAIawYEegzAplAACAvPPlHsobN27U6aef3ufre+2h/Pnnn2vhwoVqamqSZVmp431t0lxsbJ5KSZLV0tDjGJ+bQBkAAKAQrVixQrfffrvi8bjOOeccnX322Z3Ov/XWW/rpT3+qWCymkSNH6pe//KX8fr8eeeQR3XjjjRo2LPkNtiOOOEILFizIxVvIilBHy4syAmUAAIB8s30PZcMwVFVVpT322KPP1/caKP/0pz/VySefrH322UeGYaRXZTFxuWX4R+xwiNNhk7vEoeaWWJaKAgAAwEDV1dVpyZIlWr58uVwul8444wxNnjxZY8eOTY255pprNH/+fB1++OH6+c9/rt///vdasGCB1q1bp0WLFmnWrFk5fAfZEwxH5bAbKnX19J09AAAA5Mouu+yi3/72t7ryyiv10Ucf6YYbbtDixYs1fPjwPl1v622Aw+HQt771LU2ePFkHHXRQ6h90zzAMec+4Xq6Jx+1wnN/jUlOYFcoAAACFYvXq1ZoyZYoqKirkdrs1Y8YMrVy5stMY0zTV0tIiSYpEIiotLZUkrV27Vo888ohqa2v1wx/+UE1NTVmvP5uCkZh8bhcLUgAAAPLQokWLtPvuu0uSRo8erYMOOkiXXHJJn6/vNVDec8899d5776VfIbrl97hoeQEAAFBANm/erEAgkHpdXV2turq6TmMWLVqkyy+/XIceeqhWr16tM844Q5IUCAT0ve99T48//rhGjhypxYsXZ7X2bAuFY/LS7gIAACAvNTY2au7cuZKkkpISzZs3T/X19X2+vteWF+vXr9cpp5yiUaNGqaSkJHWcHso9a/vnQ4r/93V5Tv95j2P8Hpc+2xzKYlUAAAAYCNM0O624tSyr0+vW1lZddtlluvvuuzVx4kTddddd+vGPf6w777xTt956a2rc+eefr2OOOabfzx82zDuwN5CmQMDX72taYwkNKy9L69qhopjf+0Axd+lj7tLH3KWPuUsP85Y+5m7gEomE6urqNGJEsm3vli1bOu2d15teA+WBbBbS26YlTz/9tG6++WaZpqkJEyZo8eLFcrlcaT8vb9jsMpvqZJlxGbbup7jc7dJbrFAGAAAoGDU1NXr99ddTr+vr61VdXZ16/f7776ukpEQTJ06UJJ1++um66aabFAwG9fDDD2vevHmSkkG03d7/3sJbt4Zkmn3/oD8YAgGf6uuD/b6usblVY2rSu3YoSHfewNwNBHOXPuYufcxdepi39DF3/WOzGd0uSpg3b55OOukkHXbYYTIMQ6tXr9aPfvSjvt+3twEHHXSQSktL9dFHH2m//faT0+nsUw/ljk1LHnjgAT366KN68MEH9cEHH6TOh8NhLV68WHfddZf+8pe/qK2tTY888kifC89nhqdSkiUr3HNvPL/HqUhbXLF4InuFAQAAIG1Tp07Vyy+/rIaGBkUiEa1atUrTpk1LnR8zZow2bdqkjz76SJL07LPPasKECXK73frd736nN998U5J03333pbVCuZAEwzH5yobAQhEAAIAhaPbs2brrrru0zz77aPz48frDH/6g2traPl/fa6C8fPlyXXLJJfrd736nYDCo733ve1q2bFmvN+5t0xK3263nnntOw4cPVyQS0datW+X3+/tceD6zeaskSVaooccxfk/yA3ZzSywrNQEAAGBgRowYoQULFmju3Lk66aSTNGvWLE2cOFEXXHCB1q5dq/Lycl133XW6+OKLVVtbq4cffljXXnut7Ha7fv3rX+vKK6/Ucccdp7feeksLFy7M9dvJmHjCVLgtLp+bHsoAAAD5qK6uTn/60580b948HXLIIVqyZMng9lC+99579eCDD2rOnDkaNmyYli9frvPPP1+nnXbaDq/rbtOSNWvWdBrjdDr1wgsv6Ec/+pGqq6t16KGH9rnwfGZ4koGy2dKgnr7MmAqUw1ENKy/NUmUAAAAYiNra2i6rN5YuXZr6+fDDD9fhhx/e5bpJkyYNmW/j9aYlklww4SVQBgAAyEs//vGP9fWvf12SNHr0aB100EG69NJLO32u3ZFeA2WbzSav94teGyNHjuxTz7feNi3pcPjhh+vVV1/Vr371K1155ZW68cYb+1S4lL8bk5i+XfSxJLfCquhh7K6RePIHh72omokX03sdbMxdepi39DF36WPu0sfcpY+5Q74ItgfKPjctLwAAAPJRY2Oj5s6dK0kqKSnRvHnz9Oijj/b5+l4D5YqKCr3zzjupMPjxxx9XeXl5rzfubdOSbdu2ad26dalVybW1tf3eADBfNyaxLEueOTcpWtbz2EQ0+UF7/cYm7RbwDHqd+YjG6elj7tLDvKWPuUsfc5c+5i59zF3/9LQ5CQZHKNy+QrmMFcoAAAD5KJFIqK6uTiNGjJAkbdmyRZbV94y110D50ksv1f/+7//q008/1aGHHqqSkhLddtttvd546tSpuuWWW9TQ0KCysjKtWrVKV199deq8ZVlauHChHn74YY0aNUorV67UAQcc0OfC85lhGDLcOw7dy1M9lKPZKAkAAADIii9WKBMoAwAA5KN58+bppJNO0mGHHSZJevnll/WjH/2oz9f3Gijvscceeuyxx/Txxx8rkUhot912k9PZ+4fD7TcticVimj17dmrTkvnz52vChAm6+uqr9Z3vfEeGYWjs2LG66qqr+lx4vmv79xOymreodNq8bs87HXaVldgJlAEAADCkhMLJz7c+VigDAADkpdmzZ2v8+PF65ZVXZLfbtcsuu+iee+7psldIT3oNlCXJbrdrjz320He+8x3dcccdfS6ut01Ljj76aB199NF9vl8hMbfVKfHZ2h2O8btdag4TKAMAAGDoCLa3vPAQKAMAAOStkSNHKhqN6v7771c4HNY3v/nNPl/bp0C5w+bNm/tdXLGyeasUDzfJMuMybN1Ps9/jYoUyAAAAhpRgJCZ3iUMOuy3XpQAAAOBLPvroI/2///f/9Pjjj2v06NFqbW3Vc889J5+v75t89+tTXn+aMxc7w1MpyZIVbupxjN/jUhOBMgAAAIaQYDgqL/2TAQAA8s63v/1tzZkzR06nU/fcc4+eeOIJeTyefoXJUj8D5fnz5/fr5sXM5q2SJJmhhh7HsEIZAAAAQ00oEmNDPgAAgDz09ttva99999Wee+6pMWPGSJIMw+j3fXoNlLds2aJnn31WkvTGG2/onHPO0bvvvtvvBxUbw5MMlK2WngPlcrdLLa1xxRNmtsoCAAAAMioUjslX5sp1GQAAAPiS559/Xt/4xjf0xBNP6NBDD9X8+fPV1tbW7/v0GigvWrRI69ev18svv6yXXnpJJ554on72s5+lVXQxsfmrVXbcD2QftXePY/ye5Aftjo1LAAAAgEIXjMRoeQEAAJCHHA6HZs6cqXvvvVfLly9XdXW12traNH36dP3xj3/s8316DZS3bdumefPm6cUXX9SsWbN08sknKxKJDKj4YmA4XHLsPEG2Mn+PYzoCZdpeAAAAYCiwLEvBcEy+MgJlAACAfDZ27FhdfvnlevHFF3Xeeedp2bJlfb6210A5FospFovppZde0tSpUxWJRBQOhwdUcLGIvfeSou++0OP5jkCZjfkAAAAwFLRGE4onTFYoAwAAFIiysjKdfvrpeuSRR/p8Ta+B8lFHHaWDDz5YlZWVGj9+vE499VTNmjVrQIUWi9gHryj2Tu+BMiuUAQAAMBSEIslWbvRQBgAAGLocvQ2YP3++TjvtNI0YMUKSdMMNN2jcuHEZL2wosHmrFF+/tsfz5e72QDlMoAwAAIDC1xEos0IZAABg6Op1hfKWLVv01ltvyTAM/fKXv9R1112nd999Nxu1FTzDUyUr3CTLjHd7vsRlV4nTzgplAAAADAnB9oUSPgJlAACAIavXQHnRokVav369Xn75Zb300ks68cQT9bOf/SwbtRU8w1slyZIVbupxjN/jJFAGAADAkBAMd7S8IFAGAAAYqnoNlLdt26Z58+bpxRdf1KxZs3TyyScrEolko7aCZ/NUSpLMUEOPY/weF5vyAQAAYEjoCJS99FAGAAAYsnoNlGOxmGKxmF566SVNnTpVkUhE4XA4G7UVPFvVznIdNFs2T0WPY/xuFz2UAQAAMCSEIjHZbYbKSuy5LgUAAAAZ0mugfNRRR+nggw9WZWWlxo8fr1NPPVWzZs3KRm0Fz+apVMl+s2TzBXocU+5x0fICAAAAQ0IwHJXX7ZRhGLkuBQAAABni6G3A/Pnzddppp6mmpkaSdMMNN2jcuHEZL2yoiG98V4bDKXv1Ht2e93tcCoVjSpim7LZe830AAAAgb4UiMflodwEAADCk9Room6apFStW6MUXX1Q8HtchhxyisWPHyuHo9VJIavvHPbKVj1TZ9O93e97vccmSFArHVO4tyW5xAAAAwCAKRmLyudmQDwAAYCjrdUnsjTfeqFdeeUXnnHOOvvWtb+lf//qXfvGLX2SjtiHB8FTJbNnBpnzu5AoONuYDAABAoQuGCZQBAACGul6XGb/00kt6+OGH5XQmPxgeccQROuGEE3TppZdmvLihwOapVLzhsx7P+z3JQJmN+QAAAFDoQuGovGUEygAAAENZryuULctKhcmS5HK5Or3GjhmeKlnhJlmJeLfnyzsCZVYoAwAAoIAlTFMtrXECZQAAgCGu10B53Lhxuvbaa/Xpp59q/fr1uu666/SVr3wlG7UNCYa3SpIlK7yt2/OpFcotsewVBQAAAAyylkhyAYXPzaZ8AAAAQ1mvgfIVV1yh5uZmnXHGGTrttNPU0NCgn/zkJ9mobUiwV+0kx+4HSbK6PV/qssvpsLFCGQAAAAUt2N7CjR7KAAAAQ1uvPZTvuOMO/fznP89GLUOSvXoPlR39vR7PG4Yhv9vFpnwAAAAoaKFI8ht3PlpeAAAADGm9rlB+/vnns1DG0Ga2BmVGmns87/e41NzSlsWKAAAAgMEVDCcDZS8tLwAAAIa0Xlco77TTTjr33HN1wAEHyOPxpI5/61vfymhhQ0nLHxfKuddhKp16drfnyz0ubWlqzXJVAAAAwOAJdqxQpuUFAADAkNZroFxRUSFJ2rBhQ6ZrGbJs3ipZoYYez/s9Tn30ec8rmAEAAIB8F2rvoeyl5QUAAMCQ1mugfN1116V+jkajcrn4Clt/GZ4qmS07CpRdCoajMk1LNpuRxcoAAACAwREMx1RWYpfD3mtXPQAAABSwHj/tRaNR/fjHP9bTTz+dOvb9739fl1xyieLxeFaKGypsnl5WKLtdsqwvNjIBAAAACk0oEpOvjMUnAAAAQ12PgfLNN9+sUCikAw44IHVs8eLFampq0i233JKV4oYKw1MpK9IsK9F9EF/uLZEkNbdEs1kWAAAAMGiCkZi89E8GAAAY8noMlJ9//nndeOONGjZsWOrYiBEj9Itf/ELPPPNMVoobKmzlI2SUj5DV1tLteX/7B++mMIEyAAAAClMwHJWP/skAAABDXo89lJ1Op0pLS7sc93q99FHuJ+eeU+Xcc2qP5/2e5HyyQhkAAACFKhSJaedqb67LAAAAQIb1uELZZrMpFAp1OR4KheihPMjKCZQBAABQwCzLUjAck8/NwhMAAIChrsdAedasWbr88ssVDodTx8LhsC6//HJNnz49K8UNFVY8qtD9CxRds7Lb82UlDjnsBoEyAAAAClI0ZioWN2l5AQAAUAR6DJTPOecc+Xw+HXLIITrttNM0e/ZsHXLIIfL7/fqf//mfbNZY8AyHS1a0VWZoa/fnDUN+j4tAGQAAAAUp2L4XiJdAGQAAYMjrsYeyzWbT1Vdfre9+97t66623ZLPZNHHiRFVXV2ezviHD5q2UFWro8bzf7WJTPgAAABSkYCQmSbS8AAAAKAI9BsodRo8erdGjR2ejliHN8FTJbNlBoOxxaVuoLYsVAQAAAIMj1B4oe92sUAYAABjqemx5gcFl81TteIUyLS8AAABQoDpaXvgIlAEAAIY8AuUsMbxVsiLNshLxbs+Xe1wKhmMyLSvLlQEAAAADEwq3t7yghzIAAMCQ12vLCwwO14QZck08Toa9+yn3u11KmJbCrXE2MwEAAEBBCUZistsMlZXwnxcAAABDHSuUs8RwlclwlvR43u9JbmDSRNsLAAAAFJhgOCZvmVOGYeS6FAAAAGQYgXKWmOFtCq9covj6Nd2e7wiU6aMMAACAQhMMR9mQDwAAoEgQKGeJ4ShR4tM3ZTZ81u15AmUAAAAUqlAkRv9kAACAIkGgnCWGq0xylskMNXR7vpxAGQAAAAUqFInJ63blugwAAABkAYFyFtm8lbJaGrs95y51yG4z1BwmUAYAAEBhCYZj8tHyAgAAoCgQKGeR4amS2dL9CmWbYcjndrIpHwAAAAqKaVpqoeUFAABA0SBQziKbp0pWDy0vpGQfZVpeAAAAoJCEWmOyJHkJlAEAAIqCI9cFFBPnhBlyjpvW43kCZQAAABSaUDgmSfLRQxkAAKAoEChnkb1q9A7Pl7td2rilJUvVAAAAAAMXbN8DxEsPZQAAgKJAy4ssMlsa1fbawzK3fd7t+Y4VypZlZbkyAAAAID2hSPsKZVpeAAAAFAUC5SyyohFF/7VCiS0fd3ve73EpnrAUaYtntzAAAAAgTcEILS8AAACKCYFyFtk8lZIkM9TY7Xm/J/khvIk+ygAAACgQwfYeymzKBwAAUBwIlLPIcJVJrjJZLQ3dnu8IlNmYDwAAAIUiFI6p1GWX08F/WgAAABQDPvVlmc1T1WOgXN7+NcHm9lUeAAAAQL4LRqKsTgYAACgiBMpZZnirZLbsuOUFK5QBAABQKELhGP2TAQAAiogj1wUUG+e4w6VYa7fnvGVOGYbU1NKW5aoAAACA9AQjMZV7CJQBAACKRUZXKK9YsUIzZ87U9OnTdf/993c5/8wzz+jEE0/UCSecoO9973tqamrKZDl5wbnbJDm/cmi352w2Qz63ixXKAAAAKBihcFQ+Wl4AAAAUjYwFynV1dVqyZIkeeOABPfroo3rwwQf1wQcfpM6HQiFdeeWVuvPOO/X4449rr7320i233JKpcvKGGWlW7L+vy2pr6fa83+1Scws9lAEAAFAYgpGYvG4CZQAAgGKRsUB59erVmjJliioqKuR2uzVjxgytXLkydT4Wi+mKK67QiBEjJEl77bWXPv/880yVkzfMrZ+q9enfKNHwWbfnyz1ONbFCGQAAIC/19g28t956S6eccopOOOEEfec731Fzc7MkaePGjTr77LN17LHH6sILL1RLS/eLCwpNWyyhaMykhzIAAEARyVigvHnzZgUCgdTr6upq1dXVpV5XVlbqmGOOkSS1trbqzjvv1NFHH52pcvKG4amSJFktDd2e93toeQEAAJCPevsGniRdc801mj9/vh5//HHttttu+v3vfy9Juuqqq3TWWWdp5cqVGj9+vG677bZcvIVBFwonv1nnpeUFAABA0cjYpnymacowjNRry7I6ve4QDAb1P//zPxo3bpy+8Y1v9OsZw4Z5B1xnOgIBX9rXmv5d9LEkt8Kq6OY+NQGf3nivXsOHe7udr0I3kLkrdsxdepi39DF36WPu0sfcpY+5y7ztv4EnKfUNvIsuuig1xjTN1OrjSCSi8vJyxWIxvfbaa7r11lslSSeffLLmzJmjhQsXZv09DLZgJLkQgh7KAAAAxSNjgXJNTY1ef/311Ov6+npVV1d3GrN582add955mjJlii699NJ+P2Pr1pBM0xpwrf0RCPhUXx8c2E1cZQrWbVSsm/s4DSkaN7V+wzaVlWTstycnBmXuihRzlx7mLX3MXfqYu/Qxd+lj7vrHZjPSWpjQ3Tfw1qxZ02nMokWLdO655+raa69VWVmZli1bpsbGRnm9Xjkcyc92gUCg0zf3ClnHCmVaXgAAABSPjCWWU6dO1S233KKGhgaVlZVp1apVuvrqq1PnE4mEvvvd7+q4447T9773vUyVkZdsnipZLY3dnvN7kqs7mluiQy5QBgAAKGS9fQOvtbVVl112me6++25NnDhRd911l3784x/r6quv7vLNs3S+iZaP384zPt0mSdplpwoFArmpL1/xrYH0MXfpY+7Sx9ylj7lLD/OWPuYu9zKWWI4YMUILFizQ3LlzFYvFNHv2bE2cOFEXXHCB5s+fr02bNuntt99WIpHQU089JUkaP368rrnmmkyVlDccux4g2bv/WqDfk1zd0dQS1YgqdzbLAgAAwA709g28999/XyUlJZo4caIk6fTTT9dNN92kqqoqBYNB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oEGDTENDwxWPoeeadvDgQTN8+HBz+vRpn/30na8ffvjBOBwOc++995pjx46Z2tpaM2TIEPPbb7+ZhoYGk52dbb7++mu/86ZNm2bKysqMMcYsX77cuFyuGz31kGpct8OHD5vhw4cbt9ttPB6PmTdvnlmxYoXfeXl5eaa0tPTGTziMNK6dMcY4HA5TWVl51fNae88ZE7h2fzt58qQZNmyYOXLkiN959B2CRe61juxrHdn3n0H2bRq51zqyr3VkX+vIvi0HTygHsG3bNvXr108dOnRQu3btNHLkSH3++efe8RMnTujChQt64IEHJEljx471GW+t4uLi9OKLLyomJkbR0dHq3r27KioqfI7Zu3ev3n33XTmdTuXl5amuri5Esw0vhw8fliRlZ2frkUce0erVq33G6bngLFiwQLNnz5bdbvfZT9/5Ki4uVm5uruLj4yVJP/74o+666y4lJCQoKipKTqfTr78aGhq0c+dOjRw5UlLr7MHGdYuJiVFubq7at28vm82mHj16+N3zJGnPnj0qKSmR0+nU888/r7Nnz97oqYdc49rV1taqoqJCL730kpxOp9566y15PB6fc+i5yxrX7v+5XC5lZmaqa9eufmP0HYJF7rWO7Gsd2fefQfZtGrnXOrKvdWRf68i+LQcLygGcPHlScXFx3u34+HhVVlZecTwuLs5nvLW6++67vaHv6NGj+uyzzzRkyBDv+Pnz55WYmKi5c+eqpKRE586d09tvvx2i2YaXc+fOqX///iooKNDKlSu1du1abd261TtOzzVt27ZtunDhgkaNGuWzn77z9+qrryopKcm73dQ9T5LOnDmj9u3bKyoqSlLr7MHGdevcubMGDhwoSaqurlZhYaGGDRvmd15cXJyefvppbdiwQXfccYff11Jbg8a1O3XqlPr166dFixapuLhY5eXlWrdunc859NxljWv3t6NHj+rbb79VVlZWwPPoOwSL3Gsd2dc6sm/zkX2DQ+61juxrHdnXOrJvy8GCcgAej0c2m827bYzx2W5qvLU7dOiQsrOzNW/ePJ9Pjm666Sa999576t69u6KiopSdna3NmzeHbqJhpHfv3nK5XLr55ptlt9v16KOP+tSGnmva2rVrNXnyZL/99F3TgumvQPvowcsqKys1adIkZWRkqG/fvn7jBQUF6tOnj2w2m5588klt2bIlBLMMLwkJCSoo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\n",
      "text/plain": [
       "<Figure size 1440x504 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_performance(loss=losses, accuracy=accuracies, log_file=f'{log_dir}/hopfield_pooling_adapted.pdf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h2>Hopfield-based Lookup</h2>\n",
    "\n",
    "In contrast to the first <code>Hopfield</code> setting, in which the <i>state patterns</i> as well as the <i>stored patterns</i> are directly dependent on the input, <code>HopfieldLayer</code> employs a trainable but fixed <i>stored pattern</i> matrix, which in turn acts as a learnable lookup table."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "latch_samples_unique = [_[r'data'] for _ in data_loader_train]\n",
    "latch_samples_unique = torch.cat(latch_samples_unique).view(-1, latch_samples_unique[0].shape[2]).unique(dim=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "set_seed()\n",
    "hopfield_lookup = HopfieldLayer(\n",
    "    input_size=latch_sequence_set.num_characters,\n",
    "    quantity=len(latch_samples_unique))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "output_projection = Linear(in_features=hopfield_lookup.output_size * latch_sequence_set.num_instances, out_features=1)\n",
    "network = Sequential(hopfield_lookup, Flatten(start_dim=1), output_projection, Flatten(start_dim=0)).to(device=device)\n",
    "optimiser = AdamW(params=network.parameters(), lr=1e-3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3 style=\"color:rgb(0,120,170)\">Operate Hopfield-based Lookup</h3>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "losses, accuracies = operate(\n",
    "    network=network,\n",
    "    optimiser=optimiser,\n",
    "    data_loader_train=data_loader_train,\n",
    "    data_loader_eval=data_loader_eval,\n",
    "    num_epochs=18)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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z549JUmrV69u8f4WW16ce+65+uc//6mZM2cmk8mSZLPZ9M9//rMDoecfr8clfzBCD2oAAADkFX8wLMOQiovooQwAAJBu27Zt0xlnnCFJ+uKLLzRmzBi9+OKLrb6/xQrlU089VUuWLNGrr74qu92uE044QRMmTJAkeTyedoadn3xul6KxuOrCMRUVtKrbCAAAAJD1AqGwvEVO2WxGukMBAADIe3/84x/18MMPS5K++93vatmyZfrpT3+qH/3oR626v8Ws5k033aQPPvhA48aNk2ma+tvf/qZPP/1UM2fO7FjkecjXuKu1PxgmoQwAAIC8UR0My0v/ZAAAgIwQj8ebdKLo27ev4vF4q+9vseXFa6+9pj/96U+aOHGizjzzTD344INauXJl+6LNc4mecf4QG/MBAAAgfwRCEfonAwAAZIgePXro8ccfVzQaVSwW0xNPPKFevXq1+v4WE8o9evRQLBZLHhuGIZ/P175o81xiV2t/MJLmSAAAAICu4w+F5XXTPxkAACATzJs3T0uXLtXgwYM1ePBgLV26VHPnzm31/S32XRgwYIDOPfdcjR8/Xna7Xc8++6y6d++uBx98UJJ04YUXtj/6POOlQhkAAAB5yB8MJ4srAAAAkF4HHHCAnnzySVVXV8tut6u4uLhN97eYUK6vr9fBBx+st99+W5K07777SpLee++9doSb3xJVGYEgCWUAAADkh3AkprpwjJYXAAAAGWLXrl16+umnFQwGZZqm4vG4PvnkE91+++2tur/FhPL8+fMlSV988YWi0aj233//jkWcxxx2mzyFDiqUAQAAkDcCoYZ2b1QoAwAAZIbLL79chYWF+uCDD1ReXq61a9fqyCOPbPX9LfZQ/uSTTzRmzBidfvrpGj9+vE466ST997//7VDQ+czncclPhTIAAADyRKKYggplAACAzLB161bdd999GjFihM4//3z95S9/0Ycfftjq+1tMKM+bN0/Tpk3TG2+8oTfffFOXXnqprr/++g4Fnc+8bpf8ITblAwAAQH5IFFN4PWzKBwAAkAl69eolqaGX8nvvvafevXsrGo22+v4WE8o7d+7UGWeckTyeMGGCdu/e3Y5QITVUKAdoeQEAAIA8QYUyAABAZunZs6fuv/9+DRw4UH/729/04osvqq6urtX3t5hQjsVi2rNnT/J4165d7QoUDXxuJy0vAAAAkDeSPZRJKAMAAGSEefPmyeVyaciQIRo4cKDuuusu/fKXv2z1/S1uynf++efr7LPP1qmnnirDMPTss8/qggsu6FDQ+czndilYF1U0FpfD3mI+HwAAAMhq/mBYBU67Clz2dIcCAAAASbfeeqsWLFggSZo1a5ZmzZrVpvtbTCiPHz9e+++/v9asWaN4PK65c+eqvLy8fdEiubt1IBRRd29BmqMBAAAArOUPheV10z8ZAAAgU7zzzjsyTVOGYbTr/hYTyhMnTtRTTz2loUOHtusN0JS38VE/fzBMQhkAAAA5LxAMJ4sqAAAAkH5lZWUaM2aMfvjDH8rj8STPX3vtta26v8WEclFRkbZt26Y+ffq0P0ok+Rp3t2ZjPgAAAOQDfyiinr7CdIcBAACARocffrgOP/zwdt/fYkK5trZWJ554ovr06SO32508v2LFina/aT5LVGf4SSgDAAAgD/iDYX23rzfdYQAAAKDRZZdd1qH7W0woX3PNNR16AzTlS7a8iKQ5EgAAAMBacdNUIBRJtn0DAABA+lVUVDR7vrUFxC0mlJcvX66bb765ybkZM2boqKOOatUboKlCl10Ou40KZQAAAOS8UF1UcdNMFlUAAAAg/X71q18l/xyJRPT3v/9d++23X6vv32tCee7cuaqsrNSbb76pXbt2Jc9Ho1F99tln7QwXhmGom8epQJCEMgAAAHJbdeOal035AAAAMsc3C4XLy8s1adIkXXrppa26f68J5YkTJ+r999/Xli1bNGrUqOR5u92uww47rH3RQpLkdbtUTYUyAAAAclyiiMLndqY5EgAAAOzN7t27tX379lZfv9eE8qBBgzRo0CCVl5erT58+nRIcGvg8LlXXkFAGAABAbku0efNSoQwAAJAxvtlDeevWrTr77LNbfX+LPZS//PJLzZo1S9XV1TJNM3m+tU2akcrndumz7TXpDgMAAACwVCDUsBE1LS8AAAAyx9d7KBuGoR49eujAAw9s9f0tJpR//etfa/z48frBD34gwzDaFyWa8HqcCoTCMk2TOQUAAEDOqg6GZRhScSEtLwAAADLFd77zHf3xj3/Uddddpw8//FC33Xab5s2bp169erXq/hYTyg6HQxdeeGGHA8VXfG6XojFTtfVRuVlcAwAAIEcFQmF5i5yy2SiiAAAAyBSzZ8/Wj370I0lSv379dNRRR2nOnDlatGhRq+63tXTBQQcdpC1btnQsSjSReOTP3/gIIAAAAJCL/MEw/ZMBAAAyzO7duzV58mRJUkFBgaZMmaKqqqpW399ihfJnn32mCRMmaJ999lFBQUHyPD2U28/nbkwoB8Pq08Od5mgAAAAAa/hD4eTaFwAAAJkhFoupsrJSvXv3liTt2LGjyd55LWkxoTxz5sz2R4dmed0NbS78wXCaIwEAAACsEwhG9N19itIdBgAAAL5mypQpOv3003XsscfKMAytXbtWV155ZavvbzGhfNRRR+mtt97S5s2bNX78eL399ts6/PDDOxR0vuvW+NhfIERCGQAAALnLHwoniykAAACQGSZOnKiBAwfq9ddfl91u17Rp03TQQQe1+v4Weyg/+eSTmjNnju6//34FAgH99Kc/1dKlSzsUdL4rblxUV1OhDAAAgBwVjsRUF44liykAAACQGSorK/X4449rypQpGjZsmBYuXNimHsotJpQfeeQRLVmyRMXFxerZs6eefPJJ/fnPf+5Q0PnObrOpuMipAJvyAQAAIEf5G5/G89JDGQAAIKNcddVV+t73vidJ6tevn4466ihdffXVrb6/xYSyzWZTcXFx8rhv376y2+3tCBVf5/O4kotsAAAAINckiifYlA8AACCz7N69W5MnT5YkFRQUaMqUKZ1boVxSUqJ33nlHhmFIkp5++ml169atneEiwed2sikfAAAAclZirev10EMZAAAgk8RiMVVWViaPd+zYIdM0W31/i5vyXX311frFL36hTz/9VMOHD1dBQYF+//vfty9aJHndLn26vSbdYQAAAACWSCSUu1GhDAAAkFGmTJmi008/Xccee6wkad26dbryyitbfX+LCeUDDzxQTz31lD7++GPFYjF997vfldNJlUFH+TwuBahQBgAAQI6ihzIAAEBmmjhxogYOHKjXX39ddrtd3/nOd/Twww+roqKiVfe32PJCkux2uw488EDdfvvtJJM7ic/tVKg+qkg0nu5QAAAAgE4XCEVU4LSrwMX+KwAAAJmmb9++CofDuv/++/XnP/85Wa3cGi1WKH/d9u3b2xTYihUr9Ic//EHRaFQXXHCBzjvvvCbjL7zwgu6++26Zpql9991X8+fPz5v+zF5PQ6VGIBRWD19hmqMBAAAAOpc/FJaP/skAAAAZ5cMPP9Sf//xnPf300+rXr5/q6ur04osvyuv1tvo1WlWhnNCW5syVlZVauHChHnvsMS1fvlxLlizRBx98kByvqanRddddp/vuu09PP/20Dj74YN19991tCSerJXrJJXa/BgAAAHKJPxiWj3YXAAAAGeMnP/mJzj//fDmdTj388MN65pln5PF42pRMltqYUJ4xY0arr127dq2GDh2qkpISud1ujRo1SitXrkyORyIRzZ07V71795YkHXzwwfryyy/bEk5WS1QoV9NHGQAAADnIH4zQPxkAACCDbN68WYceeqgOOugg7b///pIkwzDa/DotJpR37Nih1atXS5LefPNNXXDBBXr33XdbfOHt27ertLQ0eVxWVqbKysrkcffu3XXyySdLkurq6nTffffppJNOavMHyFY+d8Pjf4EQCWUAAADkngAtLwAAADLKSy+9pDPOOEPPPPOMhg8frhkzZqi+vr7Nr9NiD+XZs2dr+PDhWrdundasWaMpU6boxhtv1KOPPvqt98Xj8SYZbtM0m814BwIB/exnP9OAAQN0xhlntCn4nj2L23R9ZyktbVsZeHOKfUWSpLhhdMrr5RLmw1rMr7WYX2sxv9Zifq3F/FqL+c0scdNUIBSRz0OFMgAAQKZwOBwaPXq0Ro8erQ8++ECPP/646uvrNXLkSF144YU655xzWvc6LV2wZ88eTZkyRbfeeqvGjh2r8ePHa/HixS2+cJ8+fbR+/frkcVVVlcrKyppcs337dl100UUaOnSorr766lYF/HU7d9YoHm99X+fOUFrqVVVVoMOvY5qmXA6btm4PdMrr5YrOml80j/m1FvNrLebXWsyvtZhfa7Vlfm02I21FCfkkWBtR3DRpeQEAAJCh+vfvr2uvvVZXXHGFnn76aT3++OOtTii32PIiEokoEolozZo1Ki8vV21trUKhUIsvXF5ernXr1mnXrl2qra3VqlWrNGLEiOR4LBbTJZdcolNPPVXXXHNNu/p1ZDPDMOR1u+QPsikfAAAAcou/ceNpNuUDAADIbEVFRTr77LO1bNmyVt/TYoXyiSeeqGOOOUaHHHKIBg4cqLFjx2rs2LEtvnDv3r01c+ZMTZ48WZFIRBMnTtTgwYM1ffp0zZgxQ9u2bdPmzZsVi8X03HPPSZIGDhyom266qdXBZzufx0UPZQAAAOScQOPG07S8AAAAyD0tJpRnzJihs846S71795Yk3XbbbRowYECrXryiokIVFRVNzi1a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\n",
      "text/plain": [
       "<Figure size 1440x504 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_performance(loss=losses, accuracy=accuracies, log_file=f'{log_dir}/hopfield_lookup.pdf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3 style=\"color:rgb(0,120,170)\">Adapt Hopfield-based Lookup</h3>\n",
    "<h3 style=\"color:rgb(208,90,80)\">We can now again explore the functionality of our Hopfield-based lookup layer <code>HopfieldLayer</code>.</h3>\n",
    "\n",
    "This <i>lookup setting</i> is especially pronounced, if the <i>state patterns</i> are initialized with a subset of the training set (and optionally provide the corresponding training targets as <i>pattern projection</i> inputs).\n",
    "\n",
    "Again, additional arguments are set to increase the training as well as the validation performance of the Hopfield-based lookup.\n",
    "<br><br>\n",
    "<table>\n",
    "    <tr>\n",
    "        <th>Argument</th>\n",
    "        <th>Value (used in this demo)</th>\n",
    "        <th>Description</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>lookup_weights_as_separated</code></th>\n",
    "        <th>True</th>\n",
    "        <th>Separate lookup weights from lookup target weights (e.g. to set lookup target weights separately).</th>\n",
    "    </tr>\n",
    "    <tr>\n",
    "        <th><code>lookup_targets_as_trainable</code></th>\n",
    "        <th>False</th>\n",
    "        <th>Employ trainable lookup target weights (used as pattern projection input).</th>\n",
    "    </tr>\n",
    "</table>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "set_seed()\n",
    "hopfield_lookup = HopfieldLayer(\n",
    "    input_size=latch_sequence_set.num_characters,\n",
    "    quantity=len(latch_samples_unique),\n",
    "    lookup_weights_as_separated=True,\n",
    "    lookup_targets_as_trainable=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Initialize the trainable but fixed <i>stored patterns</i> with all unique samples from the training set. In this way, the Hopfield-based lookup already starts with <i>meaningful</i> stored patterns (instead of random noise). This may enhance the performance of the network, especially at the beginning of the training."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "with torch.no_grad():\n",
    "    hopfield_lookup.lookup_weights[:] = latch_samples_unique.unsqueeze(dim=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "output_projection = Linear(in_features=hopfield_lookup.output_size * latch_sequence_set.num_instances, out_features=1)\n",
    "network = Sequential(hopfield_lookup, Flatten(start_dim=1), output_projection, Flatten(start_dim=0)).to(device=device)\n",
    "optimiser = AdamW(params=network.parameters(), lr=1e-3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "losses, accuracies = operate(\n",
    "    network=network,\n",
    "    optimiser=optimiser,\n",
    "    data_loader_train=data_loader_train,\n",
    "    data_loader_eval=data_loader_eval,\n",
    "    num_epochs=18)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ypUaM2aMRo0apSVLljQ5/t5772nChAkaPXq0rrzySkWj0RREmbn+9Kc/aezYsRo7dqwWLlzY7PHjjjtO48eP1/jx45v9HWD3fvrTn2rs2LHJ/L399tuNjvP9bb/HHnssmdfx48frRz/6kRYsWNDoHL6/bVddXa1x48bpiy++kCStWbNGZWVlGjVqlBYtWtTsNVu3btXZZ5+tk046SRdffLGCwWBXhpxRvpvfRx99VOPGjVNZWZmuuOIKhcPhJtcsX75cI0aMSH6Pd/d7QNP8XnHFFRo1alQyd88991yTa/j+tt638/vyyy83+jN42LBhuvDCC5tcw/e37Vj7Wou1r7VY+1qHta91WP9ah7WvtVj7Witj1r4mmvj666/N4447zty5c6cZDAbNsrIy88MPP2x0ztixY83//Oc/pmma5hVXXGEuWbIkBZFmptdee80888wzzbq6OjMcDptTp041V69e3eicCy+80Py///u/FEWY2eLxuDlixAgzEons9hy+v53jgw8+ME888URzx44djZ7n+9s2//3vf81x48aZBx10kLllyxazpqbGPOaYY8zPP//cjEQi5vTp082XXnqpyXUXXHCB+fTTT5umaZp/+tOfzIULF3Z16Bnhu/n9+OOPzRNPPNEMBAJmPB43L7/8cvO+++5rct2CBQvMlStXdn3AGea7+TVN0xw3bpxZXl7+vdfx/W2d5vKbsG3bNvP44483P/nkkybX8f1tG9a+1mLtay3Wvl2HtW/nYf1rHda+1mLta61MWvvSodyMNWvWaNiwYSouLpbb7dbo0aO1atWq5PEvv/xStbW1OvTQQyVJEyZMaHQc36+kpERz586Vy+WS0+nUvvvuq61btzY6Z+PGjbr77rtVVlamBQsWqK6uLkXRZp6PP/5YkjR9+nSdcsopeuihhxod5/vbeebPn6/Zs2ere/fujZ7n+9s2S5cu1bx581RaWipJeuedd7TXXnupX79+cjgcKisra/IdjUQiWrdunUaPHi2J7/H3+W5+XS6X5s2bp8LCQhmGof3337/Jn8GStGHDBi1fvlxlZWX61a9+paqqqq4OPSN8N781NTXaunWrfvOb36isrEy33Xab4vF4o2v4/rbed/P7bQsXLtTkyZO19957NznG97dtWPtai7WvtVj7dh3Wvp2H9a91WPtai7WvtTJp7UtBuRnbtm1TSUlJ8nFpaanKy8t3e7ykpKTRcXy//fbbL7mg+/TTT/XPf/5TxxxzTPJ4MBjUAQccoDlz5mj58uXy+/268847UxRt5vH7/TryyCN1xx136P7779ff//53vfbaa8njfH87x5o1a1RbW6uTTz650fN8f9vuuuuu05AhQ5KPW/ozWJJ27typwsJCORwOSXyPv89389u3b18dddRRkqTKykotWbJExx9/fJPrSkpK9LOf/UxPPfWU+vTp0+T2VtT7bn63b9+uYcOG6frrr9fSpUu1fv16Pf74442u4fvbet/Nb8Knn36qN998U1OnTm32Or6/bcPa11qsfa3F2rdrsPbtXKx/rcPa11qsfa2VSWtfCsrNiMfjMgwj+dg0zUaPWzqO1vnwww81ffp0XX755Y3+hcXj8Wjx4sXad9995XA4NH36dL388supCzTDHHbYYVq4cKG8Xq+6d++uSZMmNcof39/O8fe//13nnXdek+f5/nZca76jzT3H97htysvLde6552rixIkaOnRok+N33HGHfvSjH8kwDM2YMUOvvvpqCqLMPP369dMdd9yh0tJSFRQU6Kc//WmTPwP4/nbco48+qilTpsjlcjV7nO9v27D27Rqsfa3B2rdrsPa1Futf67H2tQZr366RjmtfCsrN6N27tyoqKpKPKyoqGrWbf/f49u3bm21Hx+699dZbmjZtmi677DKddtppjY5t3bq10b9omaaZ/JcstGz9+vVau3Zt8vF388f3t+PC4bDWrVunn/zkJ02O8f3tuJb+DJak7t27KxAIKBaL7fYc7N7//vc/TZ48Waeddpp+/vOfNzkeCAR0//33Jx+bpim73d6FEWau999/X88++2zycXN/BvD97bgXXnhBY8aMafYY39+2Y+1rPda+1mHtaz3WvtZj/Wst1r7WYe3bNdJx7UtBuRnDhw/X2rVrVVlZqZqaGq1evVojR45MHu/bt6/y8vL01ltvSZKefPLJRsfx/b766iv9/Oc/180336yxY8c2OZ6fn6/f//732rJli0zT1JIlS3TiiSemINLMFAgEtHDhQtXV1am6ulrLly9vlD++vx33/vvva++995bb7W5yjO9vxx1yyCH65JNP9NlnnykWi+npp59u8h11Op0aMmSInnnmGUnSihUr+B63UnV1tc4//3z98pe/1PTp05s9x+12695779Xbb78tSXrooYf4HreSaZq6/vrrVVVVpUgkokcffbRJ7vj+dkxlZaVqa2vVr1+/Zo/z/W071r7WYu1rLda+1mPtaz3Wv9Zh7Wst1r7WS9e1LwXlZvTq1UuzZ8/W1KlTdeqpp2rcuHEaPHiwZs6cqQ0bNkiSbr75Zt1www066aSTFAqFdjvHBE395S9/UV1dnW688UaNHz9e48eP1yOPPJLMb/fu3bVgwQJdfPHFOumkk2SaZrO3V6F5xx13nI455hideuqpmjhxoiZOnKjDDjuM728n2rJli3r37t3oOb6/nScvL0833nijfvGLX2jMmDHaZ599dNJJJ0mSrrzySr3wwguSpHnz5mnp0qUaM2aM1q9fr0svvTSFUWeOxx9/XNu3b9d9992X/DP4j3/8o6Rv8mu323Xrrbdq/vz5Ovnkk7Vp0ybNmTMnxZFnhoEDB+qCCy7QWWedpbFjx+qAAw7QuHHjJPH97SxffPFFkz+DJb6/HcHa11qsfa3F2td6rH2tx/rXOqx9rcXa13rpuvY1TNM0LX8XAAAAAAAAAEDGo0MZAAAAAAAAANAqFJQBAAAAAAAAAK1CQRkAAAAAAAAA0CoUlAEAAAAAAAAArUJBGQAAAAAAAADQKo5UBwAAaGrAgAHaf//9ZbM1/ne/O+64Q3vuuWenv9fatWvVvXv3Tn1dAAAAoDVY+wJAZqGgDABp6m9/+xsLXQAAAOQE1r4AkDkoKANAhnnjjTd08803a4899tDHH3+s/Px83Xjjjdp3330VCAR09dVXa/PmzTIMQ0cffbT+3//7f3I4HHr77bd17bXXqqamRk6nU5dffrmOPPJISdLtt9+ut99+W7t27dL555+vs88+O8WfEgAAAGDtCwDpiIIyAKSpc889t9Ftf3vuuafuuOMOSdLGjRv161//WkOGDNEjjzyiOXPmaNmyZbr22mtVXFyslStXKhKJ6OKLL9Zf//pXnXfeefr5z3+ua6+9Vscee6w2btyoK664Qk8++aQkqV+/fpo3b57effddnXnmmTrjjDPkdDpT8rkBAACQe1j7AkDmoKAMAGnq+277GzhwoIYMGSJJmjhxohYsWKCdO3fqlVde0SOPPCLDMORyuTR58mT97W9/01FHHSWbzaZjjz1WknTwwQdr5cqVydcbN26cJOmAAw5QOBxWdXW1unXrZu0HBAAAABqw9gWAzGFr+RQAQLqx2+3NPhePx2UYRvK5eDyuaDQqu93e6HlJ+uCDDxSNRiVJDkf9vy8mzjFN06rQAQAAgDZh7QsA6YWCMgBkoM2bN2vz5s2SpEcffVSHHXaYfD6fRowYoYceekimaSocDmvp0qUaPny49tlnHxmGoddee02StGnTJp177rmKx+Op/BgAAABAi1j7AkB6YeQFAKSp786Rk6T/9//+n/Lz89WzZ0/deuut+vLLL9W9e3ctXLhQknTVVVfp2muvVVlZmSKRiI4++mhddNFFcrlcuv3223X99ddr4cKFcjqduv322+VyuVLx0QAAAIBGWPsCQOYwTO7tAICM8sYbb+iaa67R008/nepQAAAAAEux9gWA9MPICwAAAAAAAABAq9ChDAAAAAAAAABoFTqUAQAAAAAAAACtQkEZAAAAAAAAANAqFJQBAAAAAAAAAK1CQRkAAAAAAAAA0CoUlAEAAAAAAAAArUJBGQAAAAAAAADQKv8f+rM05G6SDs8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1440x504 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_performance(loss=losses, accuracy=accuracies, log_file=f'{log_dir}/hopfield_lookup_adapted.pdf')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
